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
相关推荐
算法备案代理21 小时前
深度合成算法备案:生成式AI需要备案吗?
人工智能·算法·算法备案
菜鸡儿齐21 小时前
leetcode-全排列
算法·leetcode·深度优先
Wect1 天前
LeetCode 102. 二叉树的层序遍历:图文拆解+代码详解
前端·算法·typescript
不想看见4041 天前
Maximal Square 基本动态规划:二维--力扣101算法题解笔记
算法·leetcode·动态规划
夏乌_Wx1 天前
LeetCode 160. 相交链表 | 三种解法吃透核心逻辑(哈希表 + 双指针 + 长度对齐)
leetcode·链表·哈希表
Hag_201 天前
LeetCode Hot100 53.最大子数组和
数据结构·算法·leetcode
王老师青少年编程1 天前
csp信奥赛C++之反素数
数据结构·c++·数学·算法·csp·信奥赛·反素数
Renhao-Wan1 天前
Java 算法实践(七):动态规划
java·算法·动态规划
pursuit_csdn1 天前
LeetCode 1461. Check If a String Contains All Binary Codes of Size K
算法·leetcode·职场和发展
Crazy________1 天前
力扣113个mysql简单题解析(包含plus题目)
mysql·算法·leetcode·职场和发展