【leetcode 83】 删除排序链表中的重复元素——每一行代码都有注解

40 阅读1分钟
function deleteDuplicates(head: ListNode | null): ListNode | null {
  //空链表,直接返回null
  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;
    }
  }

  //将过滤后的链表返回
  return head;
}