细节分析:
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