题目
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶节点的最长路径上的节点数。
思路
对于一个根节点,其二叉树的深度可以定义为:左右子树中深度较大的那个加一。这样就可以用递归来做这道题了。
代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public int maxDepth(TreeNode root) {
if(root == null) return 0;
int leftDepth = maxDepth(root.left);
int rightDepth = maxDepth(root.right);
return (leftDepth > rightDepth)?(leftDepth+1):(rightDepth+1);
}
}
网友评论