前端面试算法,经典题目练习,JS版,双指针(持续更新)

98 阅读1分钟

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

输入: head = [1,2,3,3,4,4,5]
输出: [1,2,5]
function ListNode(val, next) {
    this.val = (val===undefined ? 0 : val)
    this.next = (next===undefined ? null : next)
}
var deleteDuplicates = function (head) {
    let cur = ans = new ListNode(0, head)
    while (cur.next) {
        let temp = cur.next.val
        let dd = cur.next
        let lock = false
        while (dd.next && dd.next.val === temp) {
            dd = dd.next
            lock = true
        }
        if (dd.val === temp && lock) {
            cur.next = dd.next
        } else {
            cur = dd
        }

    }
    return ans.next
};