美文网首页
简化路径 ^.^ 2022/08/26

简化路径 ^.^ 2022/08/26

作者: 佛说子曰道道 | 来源:发表于2022-08-25 15:25 被阅读0次

    https://leetcode.cn/problems/simplify-path/
    看到..是返回上一级这样的用法,瞬间就想到了用Stack,当然也可以自己处理,因为我用栈,然后效率并不高。还有一个就是正则,用来消除多个连续/使用的。
    上代码

    
    class Solution {
        public String simplifyPath(String path) {
            path = path.replaceAll("/+", "/");
            Stack<String> stack = new Stack<>();
            List<String> list = new ArrayList<>();
            String[] split = path.split("/");
            for (String s : split) {
                if (".".equals(s) || "".equals(s)) {
    //                不做任何处理
                } else if ("..".equals(s)) {
                    if(!stack.isEmpty()) {
                        stack.pop();
                    }
                } else {
                    stack.add(s);
                }
            }
            while (!stack.isEmpty()) {
                list.add(stack.pop());
            }
            Collections.reverse(list);
            return "/" + String.join("/", list);
        }
    }
    

    可能并没有到中等难度。或者要优化需要中等难度?

    相关文章

      网友评论

          本文标题:简化路径 ^.^ 2022/08/26

          本文链接:https://www.haomeiwen.com/subject/dxntnrtx.html