以下代码实现二叉树左子树优先的深度优先搜索算法,则横线上应填写( )。
void dfs(TreeNode *root) {
if (root == nullptr)
return;
stack<TreeNode *> s;
s.push(root);
while (!s.empty()) {
TreeNode *node = s.top();
s.pop();
cout << node->value << " ";
____________________________ // 在此处填入代码
}
}
- A. s.push(node->right); s.push(node->left);
- B. s.push(node->left); s.push(node->right);
- C. if (node->right) s.push(node->right); if (node->left) s.push(node->left);
- D. if (node->left) s.push(node->left); if (node->right) s.push(node->right);
正确答案:C