82. Remove Duplicates from Sorte

2020-03-12  本文已影响0人  7ccc099f4608

https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/

image.png

(图片来源https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/

日期 是否一次通过 comment
2020-03-12 0

public ListNode deleteDuplicates(ListNode head) {
        if(head == null) {
            return head;
        }

        ListNode dummy = new ListNode(-1);
        dummy.next = head;
        ListNode pre = dummy;
        ListNode cur = head;

        while(cur != null){
            while(cur.next != null && cur.val == cur.next.val){  // 重复的最后一个node
                cur = cur.next;
            }

            if(pre.next == cur){
                pre = pre.next;
            } else {
                pre.next = cur.next;    // 跳过了重复的node
            }

            cur = cur.next;
        }

        return dummy.next;
    }

follow up: 做distinct:

83. Remove Duplicates from Sorted List

image.png
public ListNode deleteDuplicates2(ListNode head) {
        if(head == null) {
            return null;
        }

        ListNode dummy = new ListNode(0);
        dummy.next = head;
        ListNode pre = dummy;
        ListNode cur = head;

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

            if(pre.next != cur) {
                pre.next = cur;
            }

            pre = pre.next;
            cur = cur.next;
        }

        return dummy.next;
    }

上一篇 下一篇

猜你喜欢

热点阅读