GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2025年9月 › 第3题

GESP 2025年9月 C++五级 单选题 第3题

C++五级单选题2025年9月第3题

所属知识点:链表 难度要求:掌握 考频:—

函数 hasCycle 采用Floyd快慢指针法判断一个单链表中是否存在环,链表的头节点为 head ,即用两个指针 在链表上前进: slow 每次走 1 步, fast 每次走 2 步,若存在环, fast 终会追上 slow (相遇);若无环, fast 会先到达 nullptr,则横线上应填写( )。
struct Node {
int val;
Node *next;
Node(int x) : val(x), next(nullptr) {}
};
bool hasCycle(Node *head) {
if (!head || !head->next)
return false;
Node* slow = head;
Node* fast = head->next;
while (fast && fast->next) {
if (slow == fast) return true;
_______________________        // 在此填入代码
}
return false;
}

正确答案:A

题目解析

Floyd 快慢指针:slow 走一步、fast 走两步,即 slow=sl………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习