1.题目描述

2.思路
返回左右子树中,最高高度的子树,高度从0开始计数。
3.代码实现
java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {}
TreeNode(int val) { this.val = val; }
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}
public class H104 {
public int maxDepth(TreeNode root) {
if(root==null)
{
return 0;//如果节点为空,返回高度0
}
else {
int leftree=maxDepth (root.left);
int rightree=maxDepth(root.right);
return Math.max(leftree,rightree)+1;//高度从0开始计算,所以此处高度+1
}
}
public static void main(String[] args)
{
H104 test11=new H104();
//1->null->2
TreeNode node1=new TreeNode(2);
TreeNode root=new TreeNode(1,null,node1);
int depth=test11.maxDepth(root);
System.out.println("二叉树的高度:"+depth);
}
}