加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

71. Simplify Path

发布时间:2020-12-15 23:26:48 所属栏目:安全 来源:网络整理
导读:一、题目 1、审题 2、分析 给一个Unix?的目录结构的字符串表示,将其简化为最简单的目录格式。 ..? :代表上一级目录; ///:多个 /?相连时只要保留一个; .:?可以被忽略; ? 二、解答 1、思路: 将字符串以 ‘/‘?字符进行分割,将分割的有意义目录结构进

一、题目

  1、审题

  

  2、分析

    给一个Unix?的目录结构的字符串表示,将其简化为最简单的目录格式。

    ..? :代表上一级目录;

    ///:多个 /?相连时只要保留一个;

    .:?可以被忽略;

?

二、解答

  1、思路:

    将字符串以 ‘/‘?字符进行分割,将分割的有意义目录结构进行入栈。最终出栈构成简化的目录结构。

class Solution {
    public String simplifyPath(String path) {
        Deque<String> stack = new LinkedList<>();
        Set<String> skip = new HashSet<>(Arrays.asList("..",".",""));
        
        for(String dir: path.split("/")) {
            if(dir.equals("..") && !stack.isEmpty())
                stack.pop();
            else if(!skip.contains(dir))
                stack.push(dir);
        }
        
        String sb = "";
        for(String dir: stack)  // 拼接
            sb = "/" + dir + sb;
        
        return sb.isEmpty() ? "/" : sb;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读