71.Simplify Path|Java最短コード実装
原題リンク:
71. Simplify Path
【考え方】
この問題は文字列とスタックの基本的な操作を調べます.それ自体は難しくありません.
252/252
test cases passed. Runtime: 11 ms Your runtime beats 63.37% of javasubmissions.
最適化を歓迎します.
71. Simplify Path
【考え方】
この問題は文字列とスタックの基本的な操作を調べます.それ自体は難しくありません.
public String simplifyPath(String path) {
Stack<String> stack = new Stack<String>();
String temp = "";
for (int i = 0; i < path.length(); i++) {
while (i < path.length() && path.charAt(i++) == '/') // '/'
i++;
while (i < path.length() && path.charAt(i) != '/') { // temp
temp += path.charAt(i);
i++;
}
if (temp.equals("..") && !stack.isEmpty()) // "..", , ( )
stack.pop();
else if (!temp.equals(".") && !temp.equals("..") && !temp.equals("")) //
stack.add(temp);
temp = "";
}
while (!stack.isEmpty())
temp = "/" + stack.pop() + temp;
return temp == "" ? "/" : temp;
}
252/252
test cases passed. Runtime: 11 ms Your runtime beats 63.37% of javasubmissions.
最適化を歓迎します.