[LeetCode] 71. Simplify Path
来源:互联网 发布:淘宝水果店名起名大全 编辑:程序博客网 时间:2024/05/18 02:57
[LeetCode] 71. Simplify Path
Given an absolute path for a file (Unix-style), simplify it.
For example,
path = “/home/”, => “/home”
path = “/a/./b/../../c/”, => “/c”
Corner Cases:
- Did you consider the case where path = “/../”? In this case, you
should return “/”. - Another corner case is the path might contain multiple slashes ‘/’
together, such as “/home//foo/”. - In this case, you should ignore redundant slashes and return
“/home/foo”.
分析文件路径,其实通过’/’就是分割字符串,’/’之间的字符串分三种情况:
- s == “..”, 保存文件路径的栈的栈顶出栈。
- s == “.”, 什么都不做。
- s == 其他, 压栈。
class Solution {public: string simplifyPath(string path) { vector<string> p; int len = path.length(); string s = ""; for (int i=0; i<len; ++i) { if (path[i] == '/') { if (s == "..") { if (!p.empty()) { p.pop_back(); } } else if (s != "." && s != "") { p.push_back(s); } s = ""; } else { s += path[i]; } } if (s == "..") { if (!p.empty()) { p.pop_back(); } } else if (s != "." && s != "") { p.push_back(s); } string res = ""; int psize = p.size(); for (int i=0; i<psize; ++i) { res += "/" + p[i]; } return res == "" ? "/" : res; }};
0 0
- LeetCode 71. Simplify Path
- LeetCode --- 71. Simplify Path
- [Leetcode] 71. Simplify Path
- [leetcode] 71.Simplify Path
- [leetcode] 71.Simplify Path
- Leetcode 71. Simplify Path
- LeetCode 71. Simplify Path
- Leetcode 71. Simplify Path
- 71. Simplify Path LeetCode
- leetcode 71. Simplify Path
- LeetCode 71. Simplify Path
- LeetCode 71. Simplify Path
- Leetcode 71. Simplify Path
- [leetcode] 71. Simplify Path
- LeetCode 71. Simplify Path
- LeetCode - 71. Simplify Path
- [LeetCode] 71. Simplify Path
- leetcode 71. Simplify Path
- [03]项目实战-移动端流体布局
- android dex加载跟踪
- 在Eclipse中启动tomcat,都会自动跳转到debug界面的解决方法
- Java的常用类
- Java项目的结构
- [LeetCode] 71. Simplify Path
- hive安装后首次启动遇到问题
- 隐式因子分解-隐语义模型
- mac 配置tomcat
- android中使用JSOUP如何解析网页
- tomcat发布时,WEB-INF/lib下没有jar包
- Linux系统调用列表
- ContentView实现获取手机短信内容
- Python实现计算一段文本中每个单词出现的次数