求二叉树的深度,从根节点到字节点的最长路径。

二叉树的深度

http://www.nowcoder.com/questionTerminal/435fb86331474282a3499955f0a41e8b

public class Solution {
int len=0;
int sum;
//方法一:DFS,递归,回溯

public int TreeDepth(TreeNode root) {
    if(root==null) return 0;
    sum=1;
    len=DFS(root);
    return len;
}
public int DFS(TreeNode root){
    if(root.left==null && root.right==null) {
        if(len<sum) len=sum;
        return len;
    }
    if(root.left!=null){
        sum++;
        DFS(root.left);
        sum--;
    }
    if(root.right!=null){
        sum++;
        DFS(root.right);
        sum--;
    }
    return len;
}

//方法二:递归,整体思想

public int TreeDepth(TreeNode root){
    if(root==null) return 0;
    int left=TreeDepth(root.left);//左子树的最大深度
    int right=TreeDepth(root.right);//右子树的最大深度
    return Math.max(left,right)+1;//左右子树中最大的深度
}

}

全部评论

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-26 14:50
人力小鱼姐:有后面墨迹那两句的时间问题早回答完了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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