如何将 LinkedList 头初始化为 None(如在 C++ 中所做的那样)?
How to initialize a LinkedList head to None(as done in C++)?
如何在 python 中 LinkedList 的实现中初始化头部?
我知道可以定义一个节点 class 来实现 easier.But 我正在尝试以这种方式做的事情(就像在 C++ 中一样)。
class LinkedList:
def __init__(self,val=None,next=None):
self.val = val
self.next = next
如果您只有这个 class,那么它实际上用作 Node
class,并且您缺少包含 [=] 的容器 class 13=] 成员.
这导致程序必须自行管理 head
。将用于引用链表的变量可能是 head
变量,但这也意味着空列表将由 None
.
表示
例如:
head = None # Empty list
head = LinkedList(1, head) # Add the first node to it
head = LinkedList(2, head) # Prepend the second node to it
head = LinkedList(3, head) # Prepend the third node to it.
# Print the values in the list:
node = head
while node:
print(node.val, end=" ")
node = node.next
print()
输出将是:
3 2 1
如何在 python 中 LinkedList 的实现中初始化头部? 我知道可以定义一个节点 class 来实现 easier.But 我正在尝试以这种方式做的事情(就像在 C++ 中一样)。
class LinkedList:
def __init__(self,val=None,next=None):
self.val = val
self.next = next
如果您只有这个 class,那么它实际上用作 Node
class,并且您缺少包含 [=] 的容器 class 13=] 成员.
这导致程序必须自行管理 head
。将用于引用链表的变量可能是 head
变量,但这也意味着空列表将由 None
.
例如:
head = None # Empty list
head = LinkedList(1, head) # Add the first node to it
head = LinkedList(2, head) # Prepend the second node to it
head = LinkedList(3, head) # Prepend the third node to it.
# Print the values in the list:
node = head
while node:
print(node.val, end=" ")
node = node.next
print()
输出将是:
3 2 1