BM16 删除有序链表中重复的元素-II
/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
*
* @param head ListNode类
* @return ListNode类
*/
function deleteDuplicates(head) {
// write code here
if (!head || !head.next) return head;
let newList = new ListNode(0);
newList.next = head;
let curr = newList;
while (curr && curr.next && curr.next.next) {
if (curr.next.val === curr.next.next.val) {
// 记录重复的值,向后依次对比,直到不相等就跳出循环
let val = curr.next.val;
while (curr.next && curr.next.val === val) {
curr.next = curr.next.next;
}
} else {
curr = curr.next;
}
}
return newList.next;
}
// 1 -> 2 -> 2 -> 3 -> 4 -> 4 - > 4 -> 5 -> null
// curr cn cnn
// cn
// curr cn cnn
// cn cnn
// cn
// curr
module.exports = {
deleteDuplicates: deleteDuplicates,
};
如有问题望指正

京公网安备 11010502036488号