描述:
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
思路:
simple,从头到尾遍历结点,如果下一个结点不为空且当前结点和下一个节点相同,删除下一个结点,否则,遍历下一个结点。
代码:
public ListNode deleteDuplicates(ListNode head) { if(head==null) return head; ListNode p=head,q; while (p.next!=null) { q=p; if(q.val==p.next.val) { while(p.next!=null&&q.val==p.next.val) p=p.next; q.next=p.next; p=q.next; if(p==null) break; } else p=p.next; } return head; }
结果:
leetcode_83_Remove Duplicates from Sorted List
原文地址:http://blog.csdn.net/mnmlist/article/details/43446689