我试图解决一个链表编码的挑战在python中。我只给出了以下类来创建一个链表
# Definition for singly-linked list.
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
字符串
我可以创建一个类似这样的链表
x = ListNode(1)
x.next = ListNode(4)
x.next.next = ListNode(5)
型
然而,我如何迭代地创建(在for循环内)
4条答案
按热度按时间7xzttuei1#
你需要两个“指针”来记住列表的头和尾。头被初始化一次。你最终会用它来访问整个列表。每次你添加另一个节点时,尾都会改变:
字符串
luaexgnf2#
你可以这样做:
字符串
但是现在x将变成
None
。因为没有其他东西可以跟踪,所以不能打印元素。您可以通过在循环之间打印x.val的值来验证这一点:
型
产出:
型
xuo3flqw3#
你可以在构造函数中添加一个
next
参数:字符串
vmpqdwk34#
字符串
dummy.next
-指向创建的链表的第一个元素的链接