‹ 上一题 下一题 ›

g6-07086. 显式栈·判空与空指针 未做

1000 ms 256 MB 测试点 ? 自拟题知识点题GESP-66级·深度优先搜索客观题单选

有同学把显式栈深度优先遍历写成:

while (!st.empty()) {
    TreeNode* node = st.top(); st.pop();
    cout << node->val << " ";
    st.push(node->right);
    st.push(node->left);
}

这份代码最可能出的问题是( )。

  • A. 编译不通过:stack 不能存指针类型
  • B. 输出顺序一定错误:栈版不允许先压右后压左之外的写法
  • C. 把空指针压进栈,弹出后访问 node->val 时运行时崩溃
  • D. 没有问题,与判空写法完全等价
未选择
输入
输出

            
答案