GESP C++ 真题 · 逐题精解
首页C++六级真题 › 2024年6月 › 第14题

GESP 2024年6月 C++六级 单选题 第14题

C++六级单选题2024年6月第14题

所属知识点:深度优先搜索(DFS) 难度要求:— 考频:—

用非递归 DFS 代码(栈,先压右再压左)在上题二叉树中搜索数值 20,可能的输出是:
TreeNode* dfs(TreeNode* root, int a) {
    if (!root) return nullptr;
    stack<TreeNode*> stk; stk.push(root);
    while (!stk.empty()) {
        TreeNode* node = stk.top(); stk.pop();
        if (node->val == a) return node;
        cout << node->val << " ";
        if (node->right) stk.push(node->right);
        if (node->left) stk.push(node->left);
    }
    return nullptr;
}

正确答案:A

题目解析

栈「先压右再压左」使出栈顺序为前序遍历。20 不在树中,输出完整前序:5 2………

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

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

进入 GESPPASS 开始练习