[LeetCode]--83. Remove Duplicates from Sorted List

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.

public ListNode deleteDuplicates(ListNode head) {
        if (head == null)
            return head;
        ListNode p1 = head;
        while (p1.next != null) {
            if (p1.val == p1.next.val) {
                p1.next = p1.next.next;
            } else {
                p1 = p1.next;
            }
        }
        return head;
    }

比较简答,LeetCode官方链接

public ListNode deleteDuplicates(ListNode head) {
    ListNode current = head;
    while (current != null && current.next != null) {
        if (current.next.val == current.val) {
            current.next = current.next.next;
        } else {
            current = current.next;
        }
    }
    return head;
}

这里就是把为空的判断放在了while循环里,看起来代码时简单了很多,但是我觉得这样子还不好,每次循环的时候都要去判断一下。

你可能感兴趣的:(LeetCode,链表,去除重复算法,算法链表,去重链表)