1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| class Solution { public String simplifyPath(String path) { Stack<String> stack = new Stack<>();
String[] arr = path.split("/"); for(String s : arr){ if (s.equals("")) { continue; }
if (s.equals(".")) { continue; } if (s.equals("..")) { if (!stack.isEmpty()){ stack.pop(); } continue; } stack.add(s); }
Stack<String> stack2 = new Stack<>(); while (!stack.isEmpty()) { stack2.add(stack.pop()); }
String ans = ""; while (!stack2.isEmpty()) { ans += "/" + stack2.pop(); } return ans == "" ? "/" : ans; } }
|