这道题的思路还是比较清晰的,用栈嘛,麻烦是麻烦在这些层次的细节上。主要有下面几个:
./和/:当前路径,遇到这种,应该将后面的文件夹或文件入栈。
../:上一层路径,遇到这种,应该做一次出栈操作,相当于返回了上一层目录。
//:可以直接简化成‘/’。
还有下面几个要注意的测试用例:
1. linux的路径名可以含有很多特殊字符,比如“_”,".","*"等等,所以要特别注意含有"."的哪些路径名。
2. 在路径最后的..和.是不需要后面接上‘/‘的。
代码写的不是很好,回头应该更正一下: