71. 简化路径
71. 简化路径
我又用的笨方法哇库哇库
题目:
题解:
class Solution { public String simplifyPath(String path) { //用stream进行切割筛选 String[] s = Arrays.stream(path.split("/+")) .filter(str -> !str.isEmpty()) .toArray(String[]::new); List<String> list = new ArrayList<>(); //进行遍历所有层文件 for(String ss:s) { //初始化flag=0 //如果所有字符都是.那么直接,并且.的个数是2,将flag=2 int flag=0; int len=ss.length(); int l = 0; for(int i=0;i<ss.length();i++) { if(ss.charAt(i)=='.') { l++; } } if(l==len) { if(l==2){ flag=2; if(list.size()>0) list.remove(list.size()-1); } //如果是1 else if(l==1) { flag = 1; } } if(flag == 0) { //进行加入集合 list.add(ss); } } if(list.size()==0) { return "/"; } StringBuilder result = new StringBuilder(); for(int i=0;i<list.size();i++) { result.append("/"+list.get(i)); } return result.toString(); } }