leetcode刷题_PYTHON(6):链表(6)删除排序链表中的重复元素 II

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。

返回同样按升序排列的结果链表。

leetcode刷题_PYTHON(6):链表(6)删除排序链表中的重复元素 II

提示:

  • 链表中节点数目在范围 [0, 300] 内
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
        if head is None or head.next is None:
            return head
        dumpy = ListNode()
        dumpy.next = head
        prev, mid, cur = dumpy, head, head.next
        while cur:
            flag = False
            while cur and mid.val == cur.val:
                flag = True
                cur = cur.next
            if flag:
                prev.next = cur
                mid = cur
                if cur:
                    cur = cur.next
            else:
                prev, mid, cur = prev.next, mid.next, cur.next
        return dumpy.next

作者:mnxiao
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/solution/python3-shi-xian-shan-chu-pai-xu-lian-bi-41zy/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

 

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

leetcode刷题_PYTHON(6):链表(6)删除排序链表中的重复元素 II

上一篇:【C++】【实用类库】C++开机自启方案


下一篇:异或运算