题目

image.pngimage.png

解题代码

  1. class Solution {
  2. public String simplifyPath(String path) {
  3. /**
  4. * 给你一个规则,简化字符串
  5. * 1. 倒退 ..
  6. * 2. 忽略 . /
  7. * 3. 正常
  8. */
  9. Deque<String> deque = new LinkedList<>();
  10. String[] strings = path.split("/");
  11. for (String s : strings) {
  12. if(s.equals("..")){
  13. if(!deque.isEmpty()) deque.removeLast();
  14. else continue;
  15. } else if(s.equals(".") || s.equals("")) continue;
  16. else deque.addLast(s);
  17. }
  18. StringBuilder stringBuilder = new StringBuilder("/");
  19. int size = deque.size();
  20. for (int i = 0; i < size; i++) {
  21. stringBuilder.append(deque.removeFirst());
  22. if(i < size - 1)stringBuilder.append('/');
  23. }
  24. return stringBuilder.toString();
  25. }
  26. }