【路飞】leetcode 82 删除排序链表中的重复元素

86 阅读1分钟

思路: 删除链表中重复元素,尤须要将自身同时删除,所以要用当前节点的一下个节点和下第二个节点比较,如果相同,则记录相同的元素,同时在次循环,从当前元素的下个节点开始,如果值为记录中的节点,则用cur,依次向后指

var deleteDuplicates = function(head) {
    let prev = new ListNode(-1)
    prev.next = head
    let cur = prev
    while (cur.next && cur.next.next) {
        if (cur.next.val === cur.next.next.val) {
            let x = cur.next.val
            while(cur.next && cur.next.val === x) {
                cur.next = cur.next.next
            }
        } else {
            cur = cur.next
        }
    }
    return prev.next
};