Python 3.x 如何使用上一个指针创建链表?
这个问题的灵感来自一个leetcode问题 节点定义如下:Python 3.x 如何使用上一个指针创建链表?,python-3.x,linked-list,Python 3.x,Linked List,这个问题的灵感来自一个leetcode问题 节点定义如下: class ListNode: def __init__(self, val, prev, next): self.val = val self.prev = prev self.next = next 我的问题是如何创建一个包含上一个指针和下一个指针的自定义节点,而不会产生循环错误 例如,如果我想创建一个节点[1->2->3],下面是我的思考过程: a=node(1,None,b) b=node
class ListNode:
def __init__(self, val, prev, next):
self.val = val
self.prev = prev
self.next = next
我的问题是如何创建一个包含上一个指针和下一个指针的自定义节点,而不会产生循环错误
例如,如果我想创建一个节点[1->2->3],下面是我的思考过程:
a=node(1,None,b)
b=node(2,a,c)
c=node(3,b,None)
然而,这不会导致循环错误吗?因为a由b定义,b由a定义,同样地,对于c,b用于定义c,同时c用于定义b。如果某件东西的输入依赖于它的输出,我们怎么能找到它的价值呢
我现在有点困惑,如果你能解释一下,我将不胜感激。谢谢您需要创建第一个没有链接的节点,然后在添加相邻节点时修改链接 例如,我将
节点
更改为如下内容:
class ListNode:
def __init__(self, val, prev=None, next=None):
self.val = val
self.prev = prev
if prev is not None:
prev.next = self
self.next = next
if next is not None:
next.prev = self
a = ListNode(1)
b = ListNode(2, a)
c = ListNode(3, b)
然后像这样使用它:
class ListNode:
def __init__(self, val, prev=None, next=None):
self.val = val
self.prev = prev
if prev is not None:
prev.next = self
self.next = next
if next is not None:
next.prev = self
a = ListNode(1)
b = ListNode(2, a)
c = ListNode(3, b)