反转之后最后一个是谁
运行下面这段程序: 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。 这条链是正常的四个人,补全后输出判断结果。