题目:求二叉树的深度
如图示:以5为root节点的树的树深为3
以5为根节点的树的深度为4,其中左子树的深度为1(以3为根节点),右子树的深度为3(以7为根节点),所以5为根节点的深度 = max{左子树深度,右子树深度}+1
public class Main55 {
private static int length(TreeNode root) {
if (root == null)
return -1;
return Math.max( root.left != null ? length(root.left) : 0 , root.right != null ? length(root.right) : 0) + 1;
}
public static void main(String[] args) {
TreeNode root = new TreeNode(5);
TreeNode node = new TreeNode(3);
TreeNode node1 = new TreeNode(7);
TreeNode node2 = new TreeNode(2);
TreeNode node3 = new TreeNode(4);
TreeNode node4 = new TreeNode(6);
TreeNode node5 = new TreeNode(8);
TreeNode node6 = new TreeNode(100);
root.left = node;
root.right = node1;
node.left = node2;
node.right = node3;
node1.left = node4;
node1.right = node5;
node5.right = node6;
System.out.println(length(root));
}
}