35 lines
823 B
Java
35 lines
823 B
Java
/*
|
|
* @lc app=leetcode id=71 lang=java
|
|
*
|
|
* [71] Simplify Path
|
|
*/
|
|
|
|
// @lc code=start
|
|
class Solution {
|
|
public String simplifyPath(String path) {
|
|
String[] dirs = path.split("/");
|
|
ArrayList<String> stack = new ArrayList<>();
|
|
for(String dir: dirs) {
|
|
if(dir.isEmpty() || dir.equals(".")) {
|
|
continue;
|
|
} else if(dir.equals("..")) {
|
|
if(!stack.isEmpty()) {
|
|
stack.removeLast();
|
|
}
|
|
} else {
|
|
stack.addLast(dir);
|
|
}
|
|
}
|
|
if(stack.isEmpty()) {
|
|
return "/";
|
|
}
|
|
StringBuilder sb = new StringBuilder();
|
|
for(String dir: stack) {
|
|
sb.append("/").append(dir);
|
|
}
|
|
return sb.toString();
|
|
}
|
|
}
|
|
// @lc code=end
|
|
|