82. Remove Duplicates from Sorte

2018-04-07  本文已影响0人  liuhaohaohao

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.

class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        ListNode fakeHead = new ListNode(0);
        ListNode pre = fakeHead;
        ListNode cur = head;
        fakeHead.next = head;
        
        while(cur != null){
            while(cur.next != null && cur.next.val == cur.val){
                cur = cur.next;
            }
            if(pre.next == cur){
                pre = pre.next;
            }else{
                pre.next = cur.next;
            }
            cur = cur.next;
        }
        return fakeHead.next;
        
    }
}
上一篇 下一篇

猜你喜欢

热点阅读