中间那两个也得跟着掉头

只把头尾接对是不够的。同一个 reverse,这回输出反转后第二个人的名字——中间没接对的话,这里就走不到。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

反转的三条验收

写完 reverse 之后一次验三条:第一个是「南风」、最后一个是「阿岚」、总数还是 4。三条全过输出 反转成功,否则输出 有问题。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

怎么判断链上有没有环

第 1 步:slow、fast 都从头出发 第 2 步:slow 走一步,fast 走两步 第 3 步:再来一轮 第 4 步:fast 到头,slow 在正中间 3 7 5 9 4 ∅ slow fast 判断链表有没有成环,最经典的办法是

开始练习 →

有环时快慢指针会怎样

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

开始练习 →

快慢指针停下时慢的在哪

运行下面这段程序(链上是四个人,没有环): #include <iostream> #include <string> #include <vector> using namespace std; st

开始练习 →

一次遍历找出中间那个

补全 middle:用快慢指针一次遍历找到中间节点,返回它。补全后输出中间那个人的名字。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

这条链有环吗之没有

补全 has_cycle:有环返回 true,没有返回 false。这条链是正常的四个人,补全后输出判断结果。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

这条链有环吗之有

同一个 has_cycle。这次最后一个人的 next 被接回了第二个人,成了一个圈。补全后输出判断结果。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

有环的链上遍历别转不停

链上有环时,普通的 while (cur != nullptr) 永远不会停。补全 count_distinct:走过的节点记下来,再见到已经走过的就停,返回一共见过几个不同的节点。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

一个能用的链表库至少要有什么

手写一个够用的链表库,至少要有【0】。

开始练习 →