思路
主要是字符串处理和栈的使用
字符串分割
String[] names = path.split(“/”);
字符串拼接:
String.join(“/”, list)
注意
string 比较不要用等号,要用.equals
代码
public String simplifyPath(String path) {
String[] names = path.split("/");
// /home/
Stack<String> stack = new Stack<>();
for (String name : names) {
if (name.equals("")){
continue;
}
if (name.equals(".")){
continue;
}
if (name.equals("..")){
if (!stack.empty()){
stack.pop();
}
}else {
stack.push(name);
}
}
List<String> list = stack.stream().toList();
return "/"+String.join("/", list);
}
```