class Node:
def __init__(self, key, value):
self.key = key
self.value = value
self.prev = None
self.next = None
将其视为Node(DLL)结构,我可以使用以下两个函数实现:
1.
def put(self, key, value):
"""
:type key: int
:type value: int
:rtype: void
"""
if key not in self.hashmap:
self.hashmap[key] = Node(key, value)
self.add(hashmap[key])
2.
self.hashmap[key] = Node(key, value)
self.add(Node(key, value))
在两种情况下,我都试图将Node值添加到类结构中。在(1)中,我非常确定会添加hashmap[key]
的值Node(key, value)
。
我的直觉告诉我,在情况(2)中,将创建并添加一个新对象,而不是在第self.hashmap[key] = Node(key, value)
行中创建的同一对象。
我的直觉是正确的吗?为什么或为什么不呢?