题解 | #删除有序链表中重复的元素-II#

删除有序链表中重复的元素-II

https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param head ListNode类 
# @return ListNode类
#

from collections import defaultdict
class Solution:
    def deleteDuplicates(self , head: ListNode) -> ListNode:
        # write code here
        if head is None:
            return head
        # pre = ListNode(-1000)
        # pre.next = head
        cur = head
        list_value = defaultdict(int)

        while cur is not None:
            
            list_value[cur.val] += 1
            
            cur = cur.next

        pre_head = ListNode(-1000)
        pre_head.next = head
        pre = pre_head
        cur = head
        

        while cur is not None:
            if list_value[cur.val]==1:
                pre.next = cur
                pre = pre.next
            else:
                pre.next = None
            cur = cur.next

        return pre_head.next

全部评论

相关推荐

生命诚可贵:先不说内容怎么样 排版就已经太差劲了 第一眼看不到重点,第二眼已经没有再看的耐心了, 篇幅占的太满了 字体不要用灰色 观感不好 想重点突出的黑色加粗就可以了 多列要点 少些大段的句子 项目经历把项目用的技术要点列出来,光写个python plc什么的太宽泛了 自我评价也有点偏多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务