71. 简化路径

  1. class Solution {
  2. public String simplifyPath(String path) {
  3. String[] pathSplit = path.split("/");
  4. Deque<String> deque = new LinkedList<>();
  5. for (int i = 0; i < pathSplit.length; i++) {
  6. String curStr = pathSplit[i];
  7. if (curStr.equals(".") || curStr.equals("")) {
  8. continue;
  9. } else if (curStr.equals("..")) {
  10. if (!deque.isEmpty()) {
  11. deque.pollLast();
  12. }
  13. } else {
  14. deque.addLast(curStr);
  15. }
  16. }
  17. StringBuilder ans = new StringBuilder("/");
  18. while (!deque.isEmpty()) {
  19. ans.append(deque.pollFirst());
  20. if (!deque.isEmpty()) {
  21. ans.append("/");
  22. }
  23. }
  24. return ans.toString().equals("") ? "" : ans.toString();
  25. }
  26. }