题目描述
解题思路❤❤
- 先以斜杠为分隔符,处理字符串
- 两个点返回上一级,即出栈
- 一个点本级菜单,不用处理
- 注意双斜杠,为空,不用处理
- 其他情况入栈即可
- 注意最后输出方式
JAVA代码
class Solution {
public String simplifyPath(String path) {
Stack<String> stack = new Stack<>();
String[] str = path.split("/");
for (String s : str) {
if ( s.equals("..") ) {
if ( !stack.isEmpty() ) stack.pop();
}
else if ( !s.equals("") && !s.equals(".") ) {
stack.push(s);
}
}
if ( stack.isEmpty() ) return "/";
StringBuilder ans = new StringBuilder();
for (int i = 0; i < stack.size(); i++) ans.append( "/" + stack.get(i) );
return ans.toString();
}
}