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; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |