1.1题目
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。
1.2解答
很显然是二叉树的遍历问题。遍历每个点然后返回当前点的深度,我这里选择利用深度优先遍历加递归解法解答。
1.3代码
package solution;
import myclass.TreeNode;
/**
* @author xgj
*/
public class Solution {
public int maxDepth(TreeNode root) {
if(root == null) {
return 0;
}
return Math.max(maxDepth(root.left)+1,maxDepth(root.right)+1);
}
}