返回给定绝对路径的,简化绝对路径
来源:互联网 发布:怎么样宣传淘宝店铺 编辑:程序博客网 时间:2024/05/17 22:47
本题源自LeetCode
-----------------------------------------------------
例如:
path ="/home/", =>"/home"
path ="/a/./b/../../c/", =>"/c"
思路1:
将绝对路径按 / 划分为单个元素。然后判断如果 分割的元素为 '. ’ '则跳过,如果遇见 '..' 则弹出上一个元素。否则入栈
代码:
string simplifyPath(string path) { int len=path.length(); stringstream ss(path); string sub; vector<string> res; while(getline(ss,sub,'/')){ if(sub==""||sub==".") continue; else if(sub==".."&&!res.empty()){ res.pop_back(); }else if(sub!=".."){ res.push_back(sub); } } string result; for(auto tmp:res){ result+='/'+tmp; } return res.empty()?"/":result; }
思路 2
如果遇见‘/’或‘.’则跳过,遇见‘..’则弹出元素。否则压栈。
string simplifyPath(string path) { int len=path.length(); vector<string> res; for(int i=0;i<len;i++){ while(i<len&&path[i]=='/'){ i++; } if(i==len) break; string tmp; while(i<len&&path[i]!='/'){ tmp+=path[i++]; } if(tmp==".") continue; else if(tmp==".."&&res.size()) res.pop_back(); else if(tmp!="..") res.push_back(tmp); } string result; for(auto tmp:res){ result+='/'+tmp; } if(result=="") result="/"; return result; }
阅读全文
0 0
- 返回给定绝对路径的,简化绝对路径
- 简化文件的绝对路径 Simpify Path
- 绝对路径
- 查找配置文件,并返回文件的绝对路径
- 查找配置文件,并返回文件的绝对路径
- android获取返回图片的绝对路径
- realpath() 函数返回绝对路径
- 给定一个表示目录的字符串,统计绝对路径文件名长度。
- 把项目的绝对路径,提取简化为一个公共标签
- 得到类的“绝对路径”
- 获取文件的绝对路径
- 获取文件的绝对路径
- 获取文件的绝对路径
- 获取绝对路径的方法
- 获取可执行文件的绝对路径
- webroot 下的绝对路径
- 得到项目的绝对路径
- 获取配置文件的绝对路径
- node.js依赖版本号范围
- lintCode 入门题 python版解答
- 集合运算
- Python--matplotlib绘图可视化知识点整理
- java 调用地图接口
- 返回给定绝对路径的,简化绝对路径
- Hessian 原理分析
- React Native 不规则cell渲染布局
- 前端的痛点之与后台和产品经理的协作
- React-Native初始化环境配置及如何去运行一个helloword工程
- sqlserver 使用 service broker 代替触发器
- 如何将本地项目上传到github
- C语言实验--计算表达式
- 【1701H1】【穆晨】【171023】连续第十三天总结