python-leetcode-删除排序链表中的重复元素 II

82. 删除排序链表中的重复元素 II - 力扣(LeetCode)

python 复制代码
# 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: Optional[ListNode]) -> Optional[ListNode]:
        # 创建一个哑节点,简化对头节点的处理
        dummy = ListNode(0)
        dummy.next = head
        prev = dummy  # 指向当前已处理的最后一个节点

        while head:
            # 检查当前节点是否是重复节点
            if head.next and head.val == head.next.val:
                # 跳过所有重复的节点
                while head.next and head.val == head.next.val:
                    head = head.next
                # 让 prev 跳过这些重复节点
                prev.next = head.next
            else:
                # 如果当前节点不重复,移动 prev 指针
                prev = prev.next
            # 移动 head 指针
            head = head.next

        return dummy.next
相关推荐
星释20 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释20 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
多喝开水少熬夜21 小时前
Trie树相关算法题java实现
java·开发语言·算法
WBluuue21 小时前
数据结构与算法:树上倍增与LCA
数据结构·c++·算法
bruk_spp21 小时前
牛客网华为在线编程题
算法
黑屋里的马1 天前
java的设计模式之桥接模式(Bridge)
java·算法·桥接模式
z187461030031 天前
list(带头双向循环链表)
数据结构·c++·链表
sin_hielo1 天前
leetcode 1611
算法·leetcode
李小白杂货铺1 天前
识别和破除信息茧房
算法·信息茧房·识别信息茧房·破除信息茧房·算法推荐型茧房·观点过滤型茧房·茧房
来荔枝一大筐1 天前
C++ LeetCode 力扣刷题 541. 反转字符串 II
c++·算法·leetcode