下面用 BFS(层序)计算二叉树深度,横线处应填入:
int max_depth_bfs(tree_node* root) {
if (!root) return 0;
queue<tree_node*> q; q.push(root);
int depth = 0;
while (!q.empty()) {
________ // 在此处填入代码
for (int i = 0; i < level_size; ++i) {
tree_node* node = q.front(); q.pop();
if (node->left) q.push(node->left);
if (node->right) q.push(node->right);
}
}
return depth;
}
- A. int level_size = q.size(); depth++;
- B. int level_size = 2; depth++;
- C. int level_size = q.size(); depth += level_size;
- D. int level_size = 2; depth += level_size;
正确答案:A