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

153 阅读1分钟

思路

根据题目得知,此链表是有序的,重复元素一定相邻

遍历链表,如果发现当前元素和下个元素相同就删除下个元素值

代码

var deleteDuplicates = function (head) {
    let p = head
    while(p && p.next){
        if(p.val === p.next.val){
            p.next = p.next.next
        }else{
            p = p.next
        }
        
    }
    return head
};

复杂度

时间O(n):一个while循环 空间O(1):无数组