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();
    }
}
相关推荐
大布布将军30 分钟前
☁️ 自动化交付:CI/CD 流程与云端部署
运维·前端·程序人生·ci/cd·职场和发展·node.js·自动化
阿拉伯柠檬43 分钟前
传输层协议TCP(一)
linux·网络·网络协议·tcp/ip·面试
汉堡包0011 小时前
【面试总结】--红队实习岗(1)
安全·面试·渗透
leoufung1 小时前
LeetCode 322. Coin Change:从错误思路到正确一维 DP
算法·leetcode·职场和发展
万小猿1 小时前
互联网大厂Java求职面试模拟实战:谢飞机的三轮提问与详细解答
java·大数据·spring boot·微服务·面试·技术解析·互联网大厂
Swift社区2 小时前
LeetCode 463 - 岛屿的周长
算法·leetcode·职场和发展
萧曵 丶16 小时前
JDK各版本新增特性详解
java·面试
a努力。16 小时前
国家电网Java面试被问:慢查询的优化方案
java·开发语言·面试
a程序小傲17 小时前
得物Java面试被问:反射机制的原理和应用场景
java·python·面试
千寻girling17 小时前
面试官 : “ 说一下 localhost 和127.0.0.1 的区别 ? ”
前端·javascript·面试