‹ 上一题 下一题 ›

g5-04401. GESP-5级-2025-09-单选-第03题 未做

1000 ms 256 MB 测试点 ? GESPGESP-52025-09单选客观题5级·链表链表

函数 hasCycle 采用 Floyd 快慢指针法判断一个单链表中是否存在环,链表的头节点为 head,即用两个指针在链表上前进:slow 每次走 步,fast 每次走 步,若存在环,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. ```cpp
    slow = slow->next; fast = fast->next->next;
- **B.** ```cpp
slow = fast->next; fast = slow->next->next;
  • C. ```cpp
    slow = slow->next; fast = slow->next->next;
- **D.** ```cpp
slow = fast->next; fast = fast->next->next;
未选择
输入
输出

            
答案