用 BFS 代码在二叉树(5 的孩子 2、17;2 的孩子 −4、3;17 的孩子 9)中搜索数值 20,可能的输出是:
TreeNode* bfs(TreeNode* root, int a) {
if (!root) return nullptr;
queue<TreeNode*> q; q.push(root);
while (!q.empty()) {
TreeNode* node = q.front(); q.pop();
if (node->val == a) return node;
cout << node->val << " ";
if (node->left) q.push(node->left);
if (node->right) q.push(node->right);
}
return nullptr;
}
- A. 5 2 -4 3 17 9
- B. -4 2 3 5 9 17
- C. 5 2 17 -4 3 9
- D. 以上都不对
正确答案:C