🌗 71. 简化路径
2022年10月10日
- algorithm
🌗 71. 简化路径
难度: 🌗
问题描述
解法
class Solution {
public String simplifyPath(String path) {
// 思路:
// 借助 栈
LinkedList<String> stack = new LinkedList<>();
String[] array = path.split("/");
int len = array.length;
for(int i = 0; i < len; i ++) {
String cur = array[i];
if(cur.length() == 0) {
continue;
}
// cur != ""
if(cur.equals(".")) {
continue;
}
if(cur.equals("..")) {
if(!stack.isEmpty()) {
stack.removeLast();
}
} else {
stack.addLast(cur);
}
}
StringBuilder sb = new StringBuilder();
sb.append("/");
if(stack.isEmpty()) {
return sb.toString();
}
while(!stack.isEmpty()) {
sb.append(stack.removeFirst()).append("/");
}
sb.deleteCharAt(sb.length() - 1);
return sb.toString();
}
}