如何将 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