首页 新闻 会员 周边

java请实现代码得出一个目录包含的所有子目录的最大层数

0
悬赏园豆:5 [已解决问题] 解决于 2018-06-23 04:15

给定一个文件目录,假定每个文件夹至多包含2个子目录(也就是说, 目录可以为空,或者包含1个子目录,或者包含2个子目录)。请实现代码得出一个目录包含的所有子目录的最大层数

目录的数据结构定义

Class Folder{

         public String  folderName;

         public Folder  left;

         public Folder  right;

}

 

public int calcHeight(Folder folder){

         //实现这个函数

 

        

}

renshen4322的主页 renshen4322 | 初学一级 | 园豆:5
提问于:2018-06-22 19:46
< >
分享
最佳答案
0

就是一个DFS吧

private static int calcHeight(Folder folder){
        if (folder == null) return 0;
        int height = 0;
        if (folder.left != null){
            height = Math.max(height, calcHeight(folder.left));
        }
        if(folder.right != null){
            height = Math.max(height, calcHeight(folder.right));
        }
        return height + 1;
    }
收获园豆:5
jello chen | 大侠五级 |园豆:7336 | 2018-06-22 23:02

谢谢!,我在写时没有用Math.max()所以有问题。太感谢了

renshen4322 | 园豆:5 (初学一级) | 2018-06-23 04:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册