71. 简化路径

 

  思路: 把当前目录压入栈中,遇到..弹出栈顶,最后返回栈中元素.

class Solution {

  
    public String simplifyPath(String path) {
        String[] strs = path.split("/");
        Stack<String> stack = new Stack<>();
        for(int i = 0; i < strs.length; i++) {
            if(strs[i].equals("..")) {
                if(!stack.empty()) stack.pop();
            }
            else if (!"".equals(strs[i]) && !".".equals(strs[i])) stack.push(strs[i]);
        }
        if(stack.empty()) return "/";
        StringBuilder sb = new StringBuilder();
        for(String s : stack) {
            sb.append("/" + s);
        }
        return sb.toString();
    }
}

 

posted @ 2020-07-08 21:25  Sexyomaru  阅读(104)  评论(0编辑  收藏  举报