题目

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例

83. 删除排序链表中的重复元素 Remove Duplicates from Sorted List - 图1

  1. 输入: 1->1->2
  2. 输出: 1->2

83. 删除排序链表中的重复元素 Remove Duplicates from Sorted List - 图2

  1. 输入: 1->1->2->3->3
  2. 输出: 1->2->3

解答

答案

  1. var deleteDuplicates = function(head) {
  2. let current = head;
  3. // 如果链表不为空,并且下一个节点不为空进行遍历
  4. while(current !== null && current.next !==null) {
  5. // 当前节点和下一个节点的值如果相等
  6. if(current.val === current.next.val) {
  7. // 当前节点指向下一个节点
  8. current.next = current.next.next;
  9. }else {
  10. // 当前节点指针移动到下一个节点
  11. current = current.next
  12. }
  13. }
  14. return head
  15. };