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
相关推荐
roman_日积跬步-终至千里4 分钟前
【模式识别与机器学习(4)】主要算法与技术(中篇:概率统计与回归方法)之线性回归模型
算法·机器学习
小李小李快乐不已8 分钟前
图论理论基础(2)
java·开发语言·c++·算法·图论
点云SLAM9 分钟前
四元数 (Quaternion)微分-单位四元数 q(t) 的导数详细推导(10)
算法·计算机视觉·机器人·slam·imu·四元数·单位四元数求导
学学学无无止境9 分钟前
力扣-颠倒二进制位
leetcode
秋邱11 分钟前
2025 年突破性科技:大模型驱动的实时多模态数据流处理系统
人工智能·科技·算法·机器学习
sin_hielo12 分钟前
leetcode 2141
数据结构·算法·leetcode
qq_4335545415 分钟前
C++ 最长单调子序列
c++·算法·图论
youngee1116 分钟前
hot100-39二叉树层序遍历
数据结构·算法
深蓝电商API17 分钟前
爬虫请求参数签名算法逆向(md5、aes、rsa、sm2 全套)
爬虫·算法·状态模式
未可知77717 分钟前
软件设计师(下午题2)、UML与设计模式
算法·设计模式·职场和发展·uml