Предположим, у меня есть:решение с рекурсивной функцией
Class Folder{
int id;
String name;
Folder subFolder;
}
Как я могу отобразить иерархию папки, при условии, что я не знаю, сколько подпапки там. Например:
- FolderA содержит FolderB (2 уровня)
- FolderA содержит FolderB, который содержит FolderC (3 уровня).
Я ищу алгоритмическое решение с использованием рекурсивной функции. Это моя попытка:
function displaySubFolders(Folder f){
print(f.name);
if(f.subFolder is NULL) {return 0;}
else{
displaySubFolders(f.subFolder);
}
}
Я не знаю, может быть, если у вас есть подпапка, вы должны спросить эту подпапку для отображения? – Will
Мне нужно отобразить имя родительского имени FolderA -> имя папки FolderB -> имя папки (имя родительской папки -> имя дочерней папки -> имя дочернего имени ребенка). Не обязательно трехуровневая иерархия, это может быть 5, 6 или более. –
Вы никогда не перебираете детей из 'f'. Вы должны сделать это, чтобы узнать все подпапки. – Vesper