我正在尝试解决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循环内)

最佳答案

您需要两个“指针”来记住列表的开头和结尾。磁头初始化一次。您最终将使用它来访问整个列表。每次添加另一个节点时,尾部都会改变:

data = [5, 1, 7, 96]
tail = head = ListNode(data[0])
for x in data[1:]:
    tail.next = ListNode(x) # Create and add another node
    tail = tail.next # Move the tail pointer

08-06 01:04
查看更多