题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
解析:递归法求解,非递归法求解参考另外一篇博文
非递归法:http://blog.csdn.net/wickedvalley/article/details/75152882(思想就是利用队列做层次遍历求解)
/**
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
public int TreeDepth(TreeNode root) {
if(root==null){
return 0;
}
int left=root.left==null?0:TreeDepth(root.left);
int right =root.right==null?0:TreeDepth(root.right);
return Math.max(left,right)+1;
}
}