GESP 六级 · GESP 202512 C++ 六级 第 11 题

选择题 · 答案 A · 考点:模拟

← 整套速查表 GESP 六级 全部真题

题目

下列代码实现了树的深度优先遍历,则横线处应填入( )。

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

void dfs(TreeNode* root) {
    if (!root) return;
    stack<TreeNode*> st;
    st.push(root);
    while (!st.empty()) {
        TreeNode* node = st.top(); st.pop();
        cout << node->val << " ";
        if (node->right) st.push(node->right);
        ___________________
    }
}
答案:A

考点

模拟 讲解 →模拟 真题汇总 →

解题思维

根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。

常见错误

填空时注意语法完整性:分号、括号匹配、函数参数类型和个数、返回值类型。

详细解析(节选)

【考点】栈的应用|树的深度优先遍历|递归模拟

1. 🎯 考纲定位

GESP六级《数据结构与算法》模块,核心考查栈模拟递归的遍历能力。命题人卡住的是"用栈实现DFS时左右子树入栈顺序"——这是递归转迭代最容易翻车的地方,80%考生会凭直觉填错。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断