python - 如何在Python中创建链表

标签 python python-3.x linked-list singly-linked-list

我正在尝试解决 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

关于python - 如何在Python中创建链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55987583/

相关文章:

python-3.x - 如何增加 ipywidgets 中的 slider 长度

c - 函数,链表。将一个链表复制到另一个链表

c - 在 C 中的 O(N) 中搜索 Trie

python - pandas dataframe merge 是否可以更大或更小地工作?

python - Discord.ext.commands.errors.ExtensionNotFound : Extension 'cogs.help' could not be loaded

python - Shell 脚本问题 - 管道到变量、比较 float

python - 使用Python 3优化去除线条

python - 分离一个单链表,使得所有奇数节点一起出现,偶数节点一起出现

python - 在 Hadoop Streaming 中使用象鸟输入格式时出错

python - 如何将变量传递给 MySQL 的 LIMIT 子句?