题目出处:https://leetcode.com/problems/remove-duplicates-from-sorted-list/
题目描述:
给定已排序的链接列表,删除所有重复项,使每个元素只出现一次。
Example 1:
输入: 1-> 1-> 2
输出: 1-> 2
Example 2:
输入: 1-> 1-> 2-> 3-> 3
输出: 1-> 2-> 3
思路:
对指针所在位置的节点,与当前所在节点之后的节点进行比较,如果重复,则当前指针的下一节点指向下下个节点,如果当前节点的val不重复,则只需要移动当前指针即可,即当前指针等于下一个节点。
代码:
var deleteDuplicates = function(head) {
//如果当前直接不存在,则直接返回
if (!head) return head;
//定义当前节点
let curr = head;
//如果下一个节点再则循环
while(curr.next) {
//如果当前节点值与下一个节点值相同
if (curr.val === curr.next.val) {
//当前节点的下一个节点等于下下个节点
curr.next = curr.next.next;
} else {
//不重复则移动指针
curr = curr.next;
}
}
return head;
};