二叉树的最大深度
题目描述
- 题目:二叉树的最大深度
- 难度:简单
- 题目描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。
- 示例一:
解题思路
使用DFS算法,对一个结点的左右树进行深度遍历,比较左右树的最大深度
参考源码
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int maxDepth(struct TreeNode* root){
if(root == NULL)
return 0;
if(root->left == NULL && root->right == NULL)
return 1;
struct TreeNode* p = root;
if(p == NULL)
return 0;
else
{
int Left_Height = maxDepth(p->left);
int Right_Height = maxDepth(p->right);
return (Left_Height > Right_Height ? Left_Height : Right_Height) + 1;
}
}