我最近接受了一家知名公司的软件开发人员职位面试,这是被问到的问题之一:
“鉴于以下方法:
List subDirectories(String directoryName){ ... };
List filesInDirectory(String directoryName) { ... };
顾名思义,第一种方法返回输入目录('directoryName')中直接子目录的名称列表,第二种方法返回此文件夹中所有文件的名称列表。
打印文件系统中的所有文件。”
我想了想,给了面试一个非常明显的递归解决方案。然后她告诉我不要递归地做。由于递归使用调用堆栈,我告诉她我将使用辅助堆栈,此时她告诉我也不要使用堆栈。不幸的是,我无法提出解决方案。我确实问过如何在没有递归/堆栈的情况下完成它,但她不会说。
如何才能做到这一点?