day31(12.11)——leetcode面试经典150

71. 简化路径

71. 简化路径

我又用的笨方法哇库哇库

题目:

题解:

java 复制代码
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();
    }
}
相关推荐
ZK_H6 小时前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
fei_sun8 小时前
面经、笔试(持续更新中)
fpga开发·面试
Morwit9 小时前
【力扣hot100】 1. 两数之和
数据结构·c++·算法·leetcode·职场和发展
SpiderPex9 小时前
第十七届蓝桥杯 C++ B组-题目 (最新出炉 )
c++·职场和发展·蓝桥杯
qinian_ztc10 小时前
frida 14.2.18 安装报错解决
算法·leetcode·职场和发展
Yuk丶11 小时前
UE4客户端开发技术问题汇总
面试·ue4·图形学·ue4客户端开发
yuki_uix11 小时前
重排、重绘与合成——浏览器渲染性能的底层逻辑
前端·javascript·面试
何陋轩12 小时前
OpenAI Codex深度解析:终端里的AI代码特工,一个指令重构整个项目
人工智能·面试
yuki_uix12 小时前
虚拟 DOM 与 Diff 算法——React 性能优化的底层逻辑
前端·react.js·面试
yuki_uix12 小时前
从输入 URL 到页面显示——浏览器工作原理全解析
前端·面试