#3855. [GESP202512 六级 C++] 第 12 题

[GESP202512 六级 C++] 第 12 题

给定一棵普通二叉树(节点值没有大小规律),下面代码判断是否存在值为 x 的结点,则横线处应填入( )。

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x): val(x), left(nullptr), right(nullptr) {}
};

TreeNode* bfsFind(TreeNode* root, int x) {
    if (!root) return nullptr;

    queue<TreeNode*> q;
    q.push(root);

    while (!q.empty()) {
        TreeNode* cur = q.front(); q.pop();
        if (cur->val == x) return cur;
        ________________________
    }
    return nullptr;
}

A.

q.push(cur);

B.

if (cur->right) q.push(cur->right);

C.

if (cur->left)
    q.push(cur->left);
if (cur->right)
    q.push(cur->right);

D.

q.push(cur->left);
q.push(cur->right);

{{ select(1) }}

  • A
  • B
  • C
  • D