13.删除排序链表中的重复元素

2019-10-20  本文已影响0人  percykuang

题目

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

示例 1:

输入: 1->1->2
输出: 1->2
示例 2:

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

code

// 思路:
// 判断下一个节点(cur)是否当前节点(prev)是否相同
// 如果相同则切断联系,下一个节点(cur)后移一位,prev不移动
// 如果不相同,则保持联系,而且cur、prev都往后移动一位

var deleteDuplicates = function(head) {
  if (head === null)  return head
  
  var prev = head
  var cur = head.next
  
  while (cur) {

    if (prev.val === cur.val) {
      prev.next = cur.next
    } else {
      prev = cur
    }
    
    cur = cur.next
  }
  return head
  
};
上一篇下一篇

猜你喜欢

热点阅读