LeetCode刷题,删除排序链表中的重复节点(83)

1,524 阅读1分钟

删除排序链表中的重复节点

给你一个排序链表,删除链表中重复的节点,返回删除后的链表

解题代码

思路:因为是排序链表,所以只需要判断当前节点和后一个节点是否相等,如果相等删除后一个,继续往下遍历即可

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;
};