[leetcode] 82. Remove Duplicates from Sorted List II 解题报告
2016-01-07 15:23
483 查看
题目链接:https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given
Given
思路:创建一个虚拟头结点可以为操作带来极大的遍历,然后就是如果发现重复元素,则开始判断以后的是不是等于这个元素,是的话都删掉。不是的话就遍历下一个。
代码如下:
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given
1->2->3->3->4->4->5, return
1->2->5.
Given
1->1->1->2->3, return
2->3.
思路:创建一个虚拟头结点可以为操作带来极大的遍历,然后就是如果发现重复元素,则开始判断以后的是不是等于这个元素,是的话都删掉。不是的话就遍历下一个。
代码如下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(!head) return head; ListNode *pHead = new ListNode(0), *p=pHead, *q; pHead->next = head; int val = head->val; while(p) { q = p->next; if(q && q->next && q->val == q->next->val) { int val = q->val; while(q && q->val == val) { p->next = q->next; delete q; q = p->next; } } else p = p->next; } head = pHead->next; delete pHead; return head; } };
相关文章推荐
- CentOS 7 安装MySQL
- 一个幸运的本命年,2015记事
- 既然LinkedList比ArrayList性能和易用行好那么多 为啥我们还是用ArrayList用的比较多呢?
- javascript keycode大全
- 网站优化的那些事
- 加密和解密基础知识、linux上的私有CA实现方法、学习总结
- mysql 中字符串拼接问题
- python re的几个函数
- PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
- GetEnvironmentVariable 获取常用系统变量(转)
- Leetcode218: Maximum Gap
- “约定优于配置”与Magento改造尝试二之布局xml文件加载
- 人工智能学习笔记(一)命题逻辑
- 一个手握安兔兔,一个执掌鲁大师,周鸿祎雷军这场仗谁能赢?
- 开发环境、生产环境、测试环境的基本理解和区别
- numpy安装
- 1.7作业
- web 应用的部署
- BZOJ 1079: [SCOI2008]着色方案 DP
- 9.配置zabbix网络发现