美文网首页
leetcode71.简化路径

leetcode71.简化路径

作者: 今天不想掉头发 | 来源:发表于2019-08-24 11:28 被阅读0次
image.png

简化路径,使用“/”对原数组进行分割,然后使用一个双端队列将元素进行头插
一旦遇到.或者“”就跳过;
遇到“..”的时候,如果队列不为空,则弹出队列后面的元素,如果队列为空,则continue;
其他的情况直接尾插即可。

最后将队列中的元素从头依次弹出即可。

 public static String simplifyPath(String path) {
        String[] strs = path.split("/");
        StringBuilder sb = new StringBuilder();
        Deque<String> queue = new LinkedList<>();
        for (int i = 0; i < strs.length; i++) {
            if (strs[i].equals("") || strs[i].equals(".")) continue;
            else if (strs[i].equals("..")) {
                if (!queue.isEmpty()) queue.pollLast();
                else continue;
            } else {
                queue.offer(strs[i]);
            }
        }
        if (queue.isEmpty()) return "/";
        while (!queue.isEmpty()) {
            sb.append("/" + queue.pollFirst());
        }
        return sb.toString();
    }

相关文章

  • leetcode71.简化路径

    简化路径,使用“/”对原数组进行分割,然后使用一个双端队列将元素进行头插一旦遇到.或者“”就跳过;遇到“..”的时...

  • 简化路径

    以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文...

  • 简化路径

    https://leetcode-cn.com/explore/interview/card/bytedance/...

  • 简化路径

    思路一 使用栈来处理遇到 ".." 出栈遇到 "." 不处理其它情况,进栈 最后拼接字符串 Leecode Gol...

  • 简化路径

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/simpli...

  • Swift - 简化绝对路径

    题目 给出一个文件的绝对路径,要求将其简化。举个例子,路径是“/home/”,简化后为“/home”,路径是“/a...

  • PHP路径简化

    在 Linux 下执行 php 脚本时通常是可以使用以下命令: #/usr/local/php/bin/php t...

  • leetCode进阶算法题+解析(十)

    简化路径 题目:以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Un...

  • 71.简化路径

  • 71.简化路径

    题目给定一个文档 (Unix-style) 的完全路径,请进行路径简化。 例如:path = "/home/", ...

网友评论

      本文标题:leetcode71.简化路径

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