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

细节分析:

  1. 按照惯例,设置一个空的头节点,用于返回,接着用一个指针保存结果  res = res_head = ListNode(None)   ;   return res_head

  2. 再设置一个空的头节点指针,用于遍历链表 point = ListNode(None) ;  point.next = head

  3. 所以 res用于保存节点,point用于遍历

  4. res每记录一个节点,res = res.next

  5. 由于res记录的只要选中的node,而不是一段链表,所以返回前  res.next = None

 

本题分析:

  1. 本题不要重复节点,所以判断节点既不与前节点相同,也不与后节点相同,则用res记录

  2. 由于while加入的节点都有 前节点与后节点,所以对于第一个节点和最后一个节点是没有遍历到的,但是第一个节点是dummy,所以需要额外判断最后一个节点是否等于前节点  point.next.val != point.val:  res.next = point.next ; res= res.next

 

 

 

 

 

posted @ 2020-09-02 11:23  ChevisZhang  阅读(155)  评论(0编辑  收藏  举报