题目
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
示例 1:
输入: 1->2->3->3->4->4->5
输出: 1->2->5
示例 2:
输入: 1->1->1->2->3
输出: 2->3
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解答
class Solution(object):
def deleteDuplicates(self, head):
head = self.findRealHead(head)
if not head:
return head
head.next = self.deleteDuplicates(head.next)
return head
def findRealHead(self, head):
if not head or not head.next or head.val != head.next.val:
return head
val = head.val
while head and head.val == val:
head = head.next
return self.findRealHead(head)
如有疑问或建议,欢迎评论区留言~