N38_求解二叉树的深度

题目描述

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
思路:对每一个节点进行分析
只有根节点深度就是1
若根节点有左子树没有右,树的深度是左子树+1
若根节点有右子树灭有左,树的深度是右子树+1
若左右都有,则左右的最大值+1
package new_offer;
/**
 * 输入一棵二叉树,求该树的深度。
 * 从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
 * @author Sonya
 *
 */
/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;
    }
}
*/
public class N38_TreeDepth {
	

	public int TreeDepth(TreeNode root) {
		if(root==null)return 0;
		int left=TreeDepth(root.left);
		int right=TreeDepth(root.right);
		if(left>right) return left+1;
		else return right+1;
        
    }
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

  

posted @ 2019-07-12 11:11  柯汐  阅读(288)  评论(0编辑  收藏  举报