单选题

二叉树的深度定义为从根结点到叶结点的最长路径上的结点数,则以下基于二叉树的深度优先搜索实现的深度计算函数中横线上应填写(    )。

// 定义二叉树的结点结构

struct tree_node {

int val;

tree_node* left;

tree_node* right;

tree_node(int x) : val(x), left(nullptr), right(nullptr) {

}

};

// 计算二叉树的深度

int max_depth(tree_node* root) {

if (root == nullptr) {

return 0; // 如果根结点为空,则深度为 0

}

int left_depth = max_depth(root->left);

int right_depth = max_depth(root->right);

__________________ // 在此处填入代码

}

A

return left_depth + right_depth;

B

return max(left_depth, right_depth);

C

return max(left_depth, right_depth) + 1;

D

return left_depth + right_depth + 1;

赣ICP备20007335号-2