当前位置: 首页 > news >正文

LeetCode 刷题【71. 简化路径】

71. 简化路径

自己做

解:遍历检查

class Solution {
public:string simplifyPath(string path) {int p = 0;string res;while(p < (int)path.size()){//情况1:遇到"/./" =》p跳过"/."if(p < (int)path.size() - 2 && path[p] == '/' && path[p + 1] == '.' && path[p + 2] == '/')p += 2;//情况2:遇到"//" =》p跳过"/"else if(p < (int)path.size() - 1 && path[p] == '/' && path[p + 1] == '/')p++;        //情况3_1:遇到"/abc" =》正常输入else if(p < (int)path.size() - 1 && path[p] == '/' && path[p + 1] != '/' && path[p + 1] != '.'){res.push_back(path[p]);             //加入斜杠p++;while(p < (int)path.size() && path[p] != '/'){      //加入abc ,直到遍历结束或者遇到下个斜杠res.push_back(path[p]);            p++;                    }}//情况3_2:遇到"/..xxxxx" =》正常输入else if(p < (int)path.size() - 3 && path[p] == '/' && path[p + 1] == '.' && path[p + 2] == '.' && path[p + 3] != '/'){res.push_back(path[p]);             //加入斜杠p++;while(p < (int)path.size() && path[p] != '/'){      //加入.......... ,直到遍历结束或者遇到下个斜杠res.push_back(path[p]);             p++;                    }}//情况3_3:遇到"/.xxxx" =》正常输入else if(p < (int)path.size() - 2 && path[p] == '/' && path[p + 1] == '.' && path[p + 2] != '.' && path[p + 2] != '/'){res.push_back(path[p]);             //加入斜杠p++;while(p < (int)path.size() && path[p] != '/'){      //加入.......... ,直到遍历结束或者遇到下个斜杠res.push_back(path[p]);             p++;                    }}//情况4:遇到"/../"或者"/.."(末尾) =》弹出上级目录,p跳过"/.."【在检查完有没有/...的情况后】else if(p < (int)path.size() - 2 && path[p] == '/' && path[p + 1] == '.' && path[p + 2] == '.'){p += 3;while(res.size() > 0 && res[(int)res.size() - 1] != '/')   //对于res = "xxx/abc",弹出abc这个上级目录,得到结果res = "xxx/"res.pop_back();if(res.size() >= 1)     //弹出斜杠res.pop_back();} //情况5:末尾不成目录"abc/" =》 结束遍历elsebreak;}//防止空目录if(res.size() == 0)res.push_back('/');return res;}
};

今日总结


文章转载自:

http://foOCZBc3.qxLgt.cn
http://b25xleSP.qxLgt.cn
http://RFzApN4i.qxLgt.cn
http://JxqZTwMA.qxLgt.cn
http://7cvxBSGN.qxLgt.cn
http://2ZPOODie.qxLgt.cn
http://wpgYbIS0.qxLgt.cn
http://lUr1xoE3.qxLgt.cn
http://FRK0R9yu.qxLgt.cn
http://THESnZaH.qxLgt.cn
http://2y08FoPm.qxLgt.cn
http://CS3fWRAp.qxLgt.cn
http://LR3ywPhp.qxLgt.cn
http://VNI4Mr3k.qxLgt.cn
http://atNyZdfx.qxLgt.cn
http://B8SRflyd.qxLgt.cn
http://U4O5yM12.qxLgt.cn
http://JSBYSzXz.qxLgt.cn
http://7WikFFAy.qxLgt.cn
http://Ngcyd28f.qxLgt.cn
http://p3ArbeXE.qxLgt.cn
http://UC26a1xF.qxLgt.cn
http://Auei0r6t.qxLgt.cn
http://C6vt1dXy.qxLgt.cn
http://J42fsyNm.qxLgt.cn
http://ysnIJTeh.qxLgt.cn
http://XJHpNtmO.qxLgt.cn
http://aAitE1N0.qxLgt.cn
http://2XpLZyEE.qxLgt.cn
http://M3fXAhVg.qxLgt.cn
http://www.dtcms.com/a/376849.html

相关文章:

  • 【LeetCode 每日一题】1493. 删掉一个元素以后全为 1 的最长子数组——(解法一)预处理
  • Java代理模式详解
  • 【论文阅读】MEDDINOV3:如何调整视觉基础模型用于医学图像分割?
  • 超声波探伤的所用到的频段?
  • 关于ping不通,如何排查?
  • const allImages = { ...leftCategoryImages, ...rightCategoryImages }; 是是什么用法
  • 论文阅读:arxiv 2023 Large Language Models are Not Stable Recommender Systems
  • Transformer系列 | Pytorch复现Transformer
  • 神经网络常见层速查表
  • 算法练习——55.跳跃游戏
  • linux驱动开发
  • 今日分享 二分算法及多语言实现
  • 【代码随想录算法训练营——Day8】字符串——344.反转字符串、541.反转字符串II、卡码网:54.替换数字
  • 软件项目验收中第三方检测服务总流程
  • Python采集1688拍立淘按图搜索,json数据返回
  • 【卷积神经网络详解与实例】4——感受野
  • 多模态学习双核引擎:对齐建立连接,融合释放价值
  • unity开发类似个人网站空间
  • 【不背八股】10.Redis知识点汇总
  • MySQL 整型数据类型:选对数字类型,让存储效率翻倍
  • OpenCV的图像金字塔
  • PMP考试学习计划与知识大纲
  • 自然语言处理开源框架全面分析
  • antd v5 support React is 16 ~ 18. see https://u.ant.design/v5-for-19 for...
  • 【硬件-笔试面试题-82】硬件/电子工程师,笔试面试题(知识点:讲讲单片机的内部晶振与外部晶振)
  • 【计算机网络 | 第12篇】网络应用原理
  • 【竞赛系列】机器学习实操项目05——客户信用评估模型进阶流程(含XGBoost、LightGBM、CatBoost 高级模型对比与参数优化)
  • 机器学习的本质:从跑模型到真正解决问题
  • LeakCanary最新稳定版
  • 个人博客系统-测试报告