Maximum Depth of Binary Tree
问题描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
问题解决:我们可以想象,对于一个节点指针,如果他为空,那么表示不存在,那么该节点的深度为0,如果该节点存在,但是不存在左右孩子,那么该节点的深度为1,如果是其他情况,那么我们只要再计算它左右孩子的深度即可,这样很明显可以利用递归来求出左右孩子的深度,我们只要取出比较大的那个即可。
class Solution {
public:
int maxDepth(TreeNode* root) {
if(!root) return 0;
if(!root->left&&!root->right) return 1;
return max(maxDepth(root->right),maxDepth(root->left))+1;
}
};