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.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode res = new ListNode(0);
res.next = head;
ListNode ln = head;
ListNode li = res;
while(ln!=null){
boolean dup = false;
while(ln.next!=null&&ln.val == ln.next.val){
ln = ln.next;
dup = true;
}
if(dup){
li.next = ln;
}else{
li = li.next;
}
ln = li.next;
}
return res.next;
}
}
[LeetCode]Remove Duplicates from Sorted List
原文地址:http://blog.csdn.net/guorudi/article/details/40954937