二叉树的深度
题目描述
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
1 /** 2 * 3 * @author gentleKay 4 * 题目描述 5 * 输入一棵二叉树,求该树的深度。 6 * 从根结点到叶结点依次经过的结点(含根、叶结点) 7 * 形成树的一条路径,最长路径的长度为树的深度。 8 */ 9 10 public class Main37 { 11 12 public static void main(String[] args) { 13 // TODO Auto-generated method stub 14 TreeNode root = new TreeNode(1); 15 root.left = new TreeNode(2); 16 root.left.left = new TreeNode(4); 17 root.left.left.right = new TreeNode(6); 18 19 root.right = new TreeNode(3); 20 root.right.right = new TreeNode(5); 21 22 int count = Main37.TreeDepth(root); 23 System.out.println(count); 24 25 } 26 27 public static class TreeNode { 28 int val = 0; 29 TreeNode left = null; 30 TreeNode right = null; 31 32 public TreeNode(int val) { 33 this.val = val; 34 } 35 36 } 37 38 public static int TreeDepth(TreeNode root) { 39 if (root == null) { 40 return 0; 41 } 42 int a = TreeDepth(root.left)+1; 43 int b = TreeDepth(root.right)+1; 44 45 return a > b ? a : b; 46 } 47 48 }