删除排序链表中的重复节点
给你一个排序链表,删除链表中重复的节点,返回删除后的链表
解题代码
思路:因为是排序链表,所以只需要判断当前节点和后一个节点是否相等,如果相等删除后一个,继续往下遍历即可
var deleteDuplicates = function(head) {
if (!head) return null;
let p = head;
while (p.next) {
if(p.val === p.next.val) {
p.next = p.next.next; // 如果当前节点和下一个节点值相同,删除下一个节点
}else {
p = p.next; // 否则 p 往后走一步 继续遍历,直至链表为空
}
}
return head;
};