剑指offer_二叉树---二叉树的深度

来源:互联网 发布:电子处方软件app 编辑:程序博客网 时间:2024/06/06 00:50

题目描述

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

解题思路

1,如果为叶子节点,则深度为0
2,递归调用左右子节点,每个根节点的深度都是左右子树深的那一个+1

代码

/** *  */package offerTest;/** * <p> * Title:Deep * </p> * <p> * Description: * </p> *  * @author 田茂林 * @data 2017年8月21日 上午9:35:29 */public class Deep {    public int TreeDepth(TreeNode root) {        int deep = 0;        if (root == null) {   //递归结束条件            return 0;        }        int leftdeep = TreeDepth(root.left);   //左子树的深度为        int rightdeep = TreeDepth(root.right);    //右子树的深度为        deep = leftdeep > rightdeep ? leftdeep + 1 : rightdeep + 1;  //该树的深度为        return deep;    }}
原创粉丝点击