上一题的二叉树深度计算还可以采用二叉树的广度优先搜索来实现。以下基于二叉树的广度优先搜索实现的深度计算函数中横线上应填写( )。
#include <queue>
int max_depth_bfs(tree_node* root) {
if (root == nullptr) {
return 0;
// 如果树为空,深度为 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;
}
int level_size = q.size(); depth++;
int level_size = 2; depth++;
int level_size = q.size(); depth += level_size;
int level_size = 2; depth += level_size;