算法系列——Remove Duplicates from Sorted List II
2017-08-10 15:02
197 查看
题目描述
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.
解题思路
引入虚拟头结点来辅助,跳过值重复的结点。程序实现
public class Solution { public ListNode deleteDuplicates(ListNode head) { if(head==null||head.next==null) return head; ListNode dummyHead=new ListNode(-1); ListNode p=dummyHead; p.next=head; ListNode cur=head; while(cur!=null){ //跳过重复元素 while(cur.next!=null&&cur.next.val==cur.val) cur=cur.next; if(p.next==cur) p=p.next; else p.next=cur.next; cur=cur.next; } return dummyHead.next; } }
相关文章推荐
- 【Leetcode长征系列】Remove Duplicates from Sorted List II
- leetcode:Remove Duplicates from Sorted List II (留下链表中只出现一次的元素)【面试算法题】
- [leetcode刷题系列]Remove Duplicates from Sorted List II
- leetcode系列(3)--Remove Duplicates from Sorted List II
- 算法系列——Remove Duplicates from Sorted Array II
- 【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】
- 算法系列—— Remove Duplicates from Sorted List
- 《leetCode》:Remove Duplicates from Sorted List II
- [leetcode]Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- [Leetcode] Remove Duplicates from Sorted List II
- leetcode-Remove Duplicates from Sorted List II
- 【LeetCode】Remove Duplicates from Sorted List & Remove Duplicates from Sorted List II
- leetcode 82:Remove Duplicates from Sorted List II
- LeetCode-Remove Duplicates from Sorted List II
- [leetcode刷题系列]Remove Duplicates from Sorted Array II
- leetcode之Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- Leetcode Remove Duplicates from Sorted List II
- LeetCode Remove Duplicates from Sorted List II