给定一个文件目录,假定每个文件夹至多包含2个子目录(也就是说, 目录可以为空,或者包含1个子目录,或者包含2个子目录)。请实现代码得出一个目录包含的所有子目录的最大层数
目录的数据结构定义
Class Folder{
public String folderName;
public Folder left;
public Folder right;
}
public int calcHeight(Folder folder){
//实现这个函数
}
就是一个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; }
谢谢!,我在写时没有用Math.max()所以有问题。太感谢了