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

124 阅读1分钟

记录一道算法

删除排序链表中重复元素

leetcode-cn.com/problems/re…


这道题比较简单了,顺序是排好的,所以只要判断相邻的元素是否相等就可以了。还是用一个变量指着节点,走一遍。

    function deleteDuplicates(head) {
        let node = head
        
        // 需要注意的是需要判断 node 是否存在,因为 1,1,2 的情况下node是会为null
        // 因为循环内是拿 node.next.val 的,所以也需要判断 node.next,下一位有才需要判断
        while(node && node.next) {
            if (node.val === node.next.val) {
                // 删除节点
                node.next = node.next.next
            } else {
                // 指向下一个
                node = node.next
            }
        }
        
        return head
    }