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();
    }
}
相关推荐
letisgo511 分钟前
JAVA 高级进阶07篇《@Transactional失效的8个场景:代理机制到传播行为》
java·面试·transactional·spring事务·aop动态代理
黄敬峰2 小时前
一文搞懂 LangGraph 分支、循环与状态持久化
面试
小智老师PMP4 小时前
2026PMP第八版新纲深度解读|从流程管控到价值交付,核心考点全迭代
人工智能·职场和发展·软件工程·制造·敏捷流程
ocean21038 小时前
2025-2026年AI应用开发与Agent面试高频知识点洞察
人工智能·面试·职场和发展
笨鸟先飞的橘猫9 小时前
slg游戏面试复盘
学习·面试
测试19989 小时前
Jmeter接口自动化测试:Jmeter变量的使用
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·接口测试
letisgo59 小时前
JAVA 高级进阶05篇《Spring容器机制:Bean生命周期与三级缓存全解》
java·spring·面试·ioc·源码分析
ocean21039 小时前
2025-2026年Python大厂面试高频问题
python·面试·面试经验
爱从未走散10 小时前
面试八股题
java·面试·职场和发展
晚安日记wanna10 小时前
大文件分片上传的五层追问从 Blob 切片到秒传与弱网容错
前端·面试