83. 删除排序链表中的重复元素

56 阅读1分钟

83. 删除排序链表中的重复元素

给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。

题解:双指针

public ListNode deleteDuplicates(ListNode head) {
    if (head == null) return null;
    ListNode fast = head;
    ListNode slow = head;
    // 快慢指针,fast遍历,slow遇到重复跳过
    while (fast != null) {
        if (slow.val != fast.val) {
            slow.next = fast;
            slow = slow.next;
        }
        fast = fast.next;
    }
    // 断开连接
    slow.next = null;
    return head;
}