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
| class Solution { public String simplifyPath(String path) { List<String> nameList = new ArrayList<>();
for (String token : path.split("/", -1)) { if (token.isEmpty()) { continue; } else if (token.equals(".")) { continue; } else if (token.equals("..")) { if (!nameList.isEmpty()) { nameList.remove(nameList.size() - 1); } } else { nameList.add(token); } }
if (nameList.isEmpty()) { return "/"; }
StringBuilder sb = new StringBuilder(); for (String name : nameList) { sb.append("/").append(name); } return sb.toString(); } }
|