反转之后最后一个是谁

运行下面这段程序: class Node: def __init__(self, name): self.name = name self.next = None def build(names):

开始练习 →

三个变量把链掉个头

补全 reverse:用 prev / cur / nxt 三个变量原地反转,返回新的头。 补全后输出第一个人的名字。

开始练习 →

掉头之后尾巴上是谁

同一个 reverse。这回走到底,输出反转后最后一个人的名字。

开始练习 →

中间那两个也得跟着掉头

只把头尾接对是不够的。同一个 reverse,这回输出反转后第二个人的名字——中间没接对的话,这里就走不到。

开始练习 →

反转的三条验收

写完 reverse 之后一次验三条:第一个是「南风」、最后一个是「阿岚」、总数还是 4。 三条全过输出 反转成功,否则输出 有问题。

开始练习 →

怎么判断一条链上有没有环

判断链表有没有成环,最经典的办法是【0】。

开始练习 →

有环的时候会看到什么现象

如果链上真有环,快慢两个指针最后会【0】。

开始练习 →

快慢指针停下时慢的在哪

运行下面这段程序(链上是四个人,没有环): class Node: def __init__(self, name): self.name = name self.next = None def b

开始练习 →

一次遍历找出中间那个

补全 middle:用快慢指针一次遍历找到中间节点,返回它。 补全后输出中间那个人的名字。

开始练习 →

这条链有环吗(没有)

补全 has_cycle:有环返回 True,没有返回 False。 这条链是正常的四个人,补全后输出判断结果。

开始练习 →