public class Solution {
public ListNode deleteDuplication(ListNode pHead)
{
if(pHead == null || pHead.next == null) return pHead;
ListNode head = new ListNode(Integer.MIN_VALUE);
head.next = pHead; //创建辅助头节点
ListNode pre = head, cur = head.next;
while(cur != null){
if(cur.next != null && cur.next.val == cur.val){ //发现重复节点
while(cur.next != null && cur.next.val == cur.val){
cur = cur.next;
}
cur = cur.next; //循环退出时cur指向的还是重复节点,需要再往后移动一步
pre.next = cur;
}else{
pre = cur;
cur = cur.next;
}
}
return head.next;
}
}
原文:https://blog.51cto.com/14472348/2659792