LL15 删除链表中重复的元素-I
约 253 字小于 1 分钟
2025-03-24
描述
删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次。
给出的链表为 1 -> 1 -> 2 , 返回 1 -> 2
给出的链表为 1 -> 1 -> 2 -> 3 -> 3 , 返回 1 -> 2 -> 3
链接
示例
输入: {1,1,2} 返回值: {1,2}
输入: {} 返回值: {}
题解
/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* {1,1,2} => {1,2}
* {} => {}
*
* @param head ListNode类
* @return ListNode类
*/
function deleteDuplicates(head) {
// write code here
let arr = []; // 利用一个数组存储出现的元素
let resHead = new ListNode();
let res = resHead;
while (head) {
if (!arr.includes(head.val)) {
arr.push(head.val);
res.next = head;
res = res.next;
} else {
res.next = null; // 需要处理 {1,1} 的情况,断开原有的链表
}
head = head.next;
}
return resHead.next;
}
module.exports = {
deleteDuplicates: deleteDuplicates,
};