这条链有环吗(有)
同一个 has_cycle。这次最后一个人的 next 被接回了第二个人,成了一个圈。 补全后输出判断结果。
有环的链上遍历,不能转到天荒地老
链上有环时,普通的 while cur is not None 永远不会停。 补全 count_distinct:走过的节点记下来,再见到已经走过的就停,返回一共见过几个不同的节点。
一个能用的链表库至少要有哪几样
手写一个够用的链表库,至少要有【0】。
为什么链表类里一定要留个 head
链表类里必须存一个 head,因为【0】。
放三个人之后长度是多少
运行下面这段程序: class Node: def __init__(self, name): self.name = name self.next = None def build(names):
第一步:节点类和追加
最终作品第一步:写出 Node(存名字 + next)和 LinkList(存 head),并实现 append。 放进四个人之后输出这条链有几个人。
第二步:接上按名字查
给它加上 find:找到就返回那个节点,找不到返回 None。 查「阿泰」,补全后输出找到的名字。
第三步:接上删除
加上 remove,删头和删中间都要对。 删掉「阿岚」(正好是头)之后,输出还剩几个人。
第四步:接上反转
加上 reverse,把整条链原地掉头。 反转之后输出第一个人的名字。
交付:增删查反转一起验收
这是这条路线的最终作品。把完整的 Node + LinkList 写出来,然后一次验完五条: 放 4 个人之后 size() 是 4 find("阿泰") 能找到 find("北辰") 返回 None