题目: 71. 简化路径
思路:栈
首先,用split()
函数把/
去掉;
然后,借助栈:
- 如果是路径名就压栈;
- 如果是
.
,不做处理; - 如果是
..
,就从栈里pop一个目录。
代码:
class Solution {
public String simplifyPath(String path) {
Stack<String> stack = new Stack<>();
String[] strs = path.split("/");
for (String str: strs) {
if (str.isEmpty()|| str.equals(".")) {
continue;
}
if (str.equals("..")) {
if (!stack.empty()) {
stack.pop();
}
}
else {
stack.push(str);
}
}
return "/" + String.join("/", stack);
}
}