101.Remove Duplicates from Sorted List II
2016-02-27 21:49
337 查看
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given
Given
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5处理后为 1->2->5.leetcode101
分析:
首先判断链表是否为空。
1.定义一个新的节点dump,使其指向pHead,最后返回dump.next即可
2.使得dump到tail结点之间为目前已经确定的结果
3.q为在剩下的链表的头结点,next为在剩下的链表中找到的第一个符合条件的节点。
循环2,3直到q为空。
For example,
Given
1->2->3->3->4->4->5, return
1->2->5.
Given
1->1->1->2->3, return
2->3.
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5处理后为 1->2->5.leetcode101
分析:
首先判断链表是否为空。
1.定义一个新的节点dump,使其指向pHead,最后返回dump.next即可
2.使得dump到tail结点之间为目前已经确定的结果
3.q为在剩下的链表的头结点,next为在剩下的链表中找到的第一个符合条件的节点。
循环2,3直到q为空。
/** * 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 * 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5. * 首先判断链表是否为空。 * 1.定义一个新的节点dump,使其指向pHead,最后返回dump.next即可 * 2.使得dump到tail结点之间为目前已经确定的结果 * 3.q为在剩下的链表的头结点,next为在剩下的链表中找到的第一个符合条件的节点 * 循环2,3知道q为空。 */ public ListNode deleteDuplicates(ListNode pHead){ if(pHead == null || pHead.next==null){ return pHead; } ListNode dump = new ListNode(0); dump.next = pHead; ListNode tail = dump; ListNode q = pHead; ListNode next = pHead; /*遍历链表*/ while(q!=null){ next = q; next = next.next; boolean needDelete = false;//表示某个节点是否需要被删除 while(next != null && next.val == q.val){ needDelete= true;//进到这个循环说明该节点有重复的 next = next.next; } if(!needDelete){//如果这个节点不需要删除,则把它加到之前选中链表的末尾。 tail.next = q; tail = tail.next; } q = next; } tail.next = null; return dump.next; }
相关文章推荐
- 函数调用过程&生成器解释
- oracle merge into 语法
- 【Android】14.0 第14章 内部存储与外部SD卡存储—本章示例主界面
- 自定义view相关学习
- Linux Is Not Matrix——使用域名访问局域网网站
- 2016,新的开始
- HLS+CDN巧妙的串流技術組合
- Uniform Generator
- linux(ubuntu)mysql自动安装
- asp.net中<%@ Page Language....的意思
- 我的Android进阶之旅------>关于android:layout_weight属性的详细解析
- Benchmark库的建立05:任务Post失败 Bug
- 真正的问题不在于长大,而在于遗忘。
- android应用Dialog跳转到Activity
- C#综合揭秘——细说多线程(下)
- varnish 配置文件分享(sens杨 注释)
- Redis安装部署
- 编程知识汇总--转载
- Windows Server 2008 R2 负载平衡入门篇
- java default使用