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();
    }
}
相关推荐
天真小巫几秒前
2026.5.2总结
职场和发展
weisian1515 分钟前
基础篇--概念原理-1-Token是什么?——从原理到实战,一篇讲透
人工智能·职场和发展·token
AI人工智能+电脑小能手31 分钟前
【大白话说Java面试题】【Java基础篇】第26题:Java的抽象类和接口有哪些区别
java·开发语言·面试
逻辑驱动的ken3 小时前
Java高频面试考点场景题20
java·开发语言·深度学习·面试·职场和发展
Wect3 小时前
深度剖析浏览器跨域问题
前端·面试·浏览器
刀法如飞5 小时前
Java数组去重的20种实现方式——指导AI解决不同问题的思路
java·算法·面试
ayqy贾杰5 小时前
Cursor SDK发布!开发者可直接搬走其内核
前端·vue.js·面试
JAVA面经实录91714 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
小程故事多_8016 小时前
[大模型面试系列] 多轮对话 Agent 设计实战(含窗口优化 + 工具调用精髓)
人工智能·面试·职场和发展
leoufung17 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展