LintCode刪除排序鏈表中的重複數字 II - Java

public static ListNode deleteDuplicates(ListNode head) {

    if(head == null || head.next == null) {
        return head;
    } else {

        ListNode newHead = new ListNode(0);
        newHead.next = head;
        ListNode pre = newHead;
        ListNode p = head;
        ListNode next = null;

        while(p != null && p.next != null) {
            next = p.next;

            if(p.val == next.val) {

            while(next != null && p.val == next.val) {
                next = next.next;
            }

            pre.next = next;
            p = next;

            } else {

                pre = p;
                p = p.next;
            }

        }

        return newHead.next;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章