LeetCode71. 简化路径 (simplifyPath)

本文详细解析了Unix风格文档路径的简化算法,通过实例演示如何处理路径中的'.', '..'及多余斜杠,提供了一段C++代码实现,并解释了其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

给定一个文档 (Unix-style) 的完全路径,请进行路径简化。

示例:

path = "/home/", => "/home"
path = "/a/./b/../../c/", => "/c"

边界情况:

你是否考虑了 路径 = "/../" 的情况?
在这种情况下,你需返回 "/" 。
此外,路径中也可能包含多个斜杠 '/' ,如 "/home//foo/" 。
在这种情况下,你可忽略多余的斜杠,返回 "/home/foo" 。

解题思路

这道题让简化给定的路径,光是根据题目中给的那一个例子还真不太好总结出规律,应该再加上两个例子 path = “/a/./b/…/c/”, => “/a/c"和path = “/a/./b/c/”, => “/a/b/c”, 这样我们就可以知道中间是”.“的情况直接去掉,是”…“时删掉它上面挨着的一个路径,而下面的边界条件给的一些情况中可以得知,如果是空的话返回”/",如果有多个"/“只保留一个。那么我们可以把路径看做是由一个或多个”/"分割开的众多子字符串,把它们分别提取出来一一处理即可。

代码

class Solution {
public:
    string simplifyPath(string path) {
        vector <string> v;
        int i=0;//遍历指针
        while(i<path.size()){
            while(path[i]=='/'&&i<path.size()) i++;
            if(i==path.size()) break;
            int start=i;
            while(path[i]!='/'&&i<path.size()) i++;
            int end=i-1;
            string s=path.substr(start,end-start+1);
            if (s=="..") {
                if (!v.empty()) v.pop_back();
            } else if (s!=".") {
                v.push_back(s);
            }
        }
        if(v.empty()) return "/";
        string res;
        for(int i=0;i<v.size();i++){
            res+="/"+v[i];
        }
        return res;
    } 
};

注:
substr有2种用法:
假设: string s = “0123456789”;
string sub1 = s.substr(5); //只有一个数字5表示从下标为5开始一直到结尾:sub1 = “56789”
string sub2 = s.substr(5, 3); //从下标为5开始截取长度为3位:sub2 = “567”

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值