题目介绍
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/re… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路
遍历然后片段 当前节点的val值是否和下一个节点的val值相等,如果相等设置当前节点的next为 下下个节点,并且当前节点不可以,往下移动,因为下个节点还有可能相同,所以要再做一次比较
var deleteDuplicates = function(head) {
if (!head) return null
let cur = head
while(cur && cur.next) {
if (cur.val === cur.next.val) {
// 相同改变当前的next指向,但是cur 不能在往下移动了, 因为有可能是这种情况 [1,2,2,2]连续几个相同的
cur.next = cur.next.next
} else {
cur = head.next
}
}
return head
};