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

题目描述

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

解题思路

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;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 14:18
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务