下列代码实现了树的深度优先遍历,则横线处应填入()。
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.
if (node->left) st.push(node->left); - B.
if (node->left) st.pop(node->left); - C.
if (node->left) st.front(node->left); - D.
if (node->left) st.push(node->right);