码迷,mamicode.com
首页 > 编程语言 > 详细

Leetcode练习(python):链表类:第82题:删除排序链表中的重复元素 II:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。

时间:2020-05-02 19:16:59      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:turn   node   code   not   重复元素   python   efi   重复   重复数   

题目:
删除排序链表中的重复元素 II:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
思路:
懒人思维,使用哈希表。
程序:
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
        if not head:
            return None
        myHashMap = dict()
        myNode = head
        while myNode:
            if myNode.val in myHashMap:
                myHashMap[myNode.val] = myHashMap.get(myNode.val, 0) + 1
            else:
                myHashMap[myNode.val] = myHashMap.get(myNode.val, 1)
            myNode = myNode.next
        myNewNode = head
        myNewHead = None
        myNewCurrent = None
        while myNewNode:
            if myHashMap[myNewNode.val] == 1:
                node = ListNode(myNewNode.val)
                if myNewHead is None:
                    myNewHead = node
                    myNewCurrent = myNewHead
                else:
                    myNewCurrent.next = node
                    myNewCurrent = myNewCurrent.next
            myNewNode = myNewNode.next
        return myNewHead

Leetcode练习(python):链表类:第82题:删除排序链表中的重复元素 II:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。

标签:turn   node   code   not   重复元素   python   efi   重复   重复数   

原文地址:https://www.cnblogs.com/zhuozige/p/12818743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!