14058. [GESP202609 六级 C++] 第 9 题

[GESP202609 六级 C++] 第 9 题

以下代码实现二叉树左子树优先的深度优先搜索算法,则横线上应填写(  )。

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 << " ";

        ———————————————————————— // 在此处填入代码
    }
}

{{ select(1) }}

  • s.push(node->right);
    s.push(node->left);
    
  • s.push(node->left);
    s.push(node->right);
    
  • if (node->right)
        s.push(node->right);
    if (node->left)
        s.push(node->left);
    
  • if (node->left)
        s.push(node->left);
    if (node->right)
        s.push(node->right);