题目如下:
给定一个二叉树 root
,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
示例 1:
输入:root = [3,9,20,null,null,15,7]
输出:3
示例 2:
输入:root = [1,null,2]
输出:2
题目解析:
上题就是要利用递归对目标进行访问找到叶子节点之后记录并返回到根节点之后对左右两个的返回值进行比较对大的返回值进行+1(根本身)即可。
代码解析:
int maxDepth(struct TreeNode* root) {
if (root == NULL)
{
return 0;
}
int a=maxDepth(root->left);
int b=maxDepth(root->right);
return a>b?a+1:b+1;
}