中间那两个也得跟着掉头
只把头尾接对是不够的。同一个 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】。