[LeetCode83. 删除排序链表中的重复元素] | 刷题打卡

60 阅读1分钟

题目描述:

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次

输入: 1->1->2
输出: 1->2

输入: 1->1->2->3->3
输出: 1->2->3

方法分析:

遍历链表,如果第i个和i.next个的值相同则直接将第i个指向i.next.next个。

方法:

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} head
 * @return {ListNode}
 */
var deleteDuplicates = function(head) {
    var list = head;

    if(list === null) {
        return null;
    }

    while(list.next !== null) {
        if(list.val == list.next.val) {
            list.next = list.next.next;
        } else {
            list = list.next;
        }
    }

    return head;
};

本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情