题解 | #删除有序链表中重复的元素-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

全部评论

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务