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();
    }
}
相关推荐
YuTaoShao9 小时前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法一)前后缀分解
算法·leetcode·职场和发展
VT.馒头9 小时前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
猿小羽10 小时前
AIGC 应用工程师(3-5 年)面试题精讲:从基础到实战的系统备战清单
面试·大模型·aigc·agent·rag
网络安全-杰克10 小时前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展
June bug11 小时前
【PMP】敏捷Scrum实践
经验分享·职场和发展·学习方法·scrum
boooooooom11 小时前
Pinia必学4大核心API:$patch/$reset/$subscribe/$onAction,用法封神!
javascript·vue.js·面试
试着11 小时前
【huawei】机考整理
学习·华为·面试·机试
石去皿11 小时前
【嵌入式就业6】计算机组成原理与操作系统核心机制:夯实底层基础
c++·面试·嵌入式
闻哥12 小时前
Kafka高吞吐量核心揭秘:四大技术架构深度解析
java·jvm·面试·kafka·rabbitmq·springboot
2501_9011478312 小时前
面试必看:优势洗牌
笔记·学习·算法·面试·职场和发展