LeetCode:Simplify Path
2013-12-09 14:14
211 查看
题目链接
Given an absolute path for a file (Unix-style), simplify it.
For example,
path =
path =
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
In this case, you should ignore redundant slashes and return
分析:需要注意的是/…可以表示名字为…的路径,路径的最后可能没有/。可以利用栈,碰到正常路径压入栈中,碰到/.不作任何操作,碰到/..删除栈顶元素。下面代码中用数组来模拟栈 本文地址
【版权声明】转载请注明出处:/article/4879692.html
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".
分析:需要注意的是/…可以表示名字为…的路径,路径的最后可能没有/。可以利用栈,碰到正常路径压入栈中,碰到/.不作任何操作,碰到/..删除栈顶元素。下面代码中用数组来模拟栈 本文地址
class Solution { public: string simplifyPath(string path) { int len = path.size(); vector<string> vec; int i = 0, index = 0; while(i < len) { int j = path.find('//', i + 1); string tmp; if(j != string::npos) tmp = path.substr(i, j - i); else {tmp = path.substr(i, len); j = len;} if(tmp == "/"); else if(tmp == "/."); else if(tmp == "/..") {if(!vec.empty())vec.pop_back();} else vec.push_back(tmp); i = j; } if(vec.empty())return "/"; else { string res; for(int i = 0; i < vec.size(); i++) res += vec[i]; return res; } } };
【版权声明】转载请注明出处:/article/4879692.html
相关文章推荐
- LeetCode - Simplify Path
- 145_leetcode_Simplify Path
- 【leetcode刷题笔记】Simplify Path
- Leetcode135: Simplify Path
- LeetCode 71 Simplify Path
- [LeetCode] Simplify Path 简化路径
- LeetCode -- Simplify Path
- [leetcode] Simplify Path
- LeetCode 071 Simplify Path
- Leetcode71- Simplify Path
- LeetCode-71-Simplify Path 无聊模拟
- 【leetcode】【71】Simplify Path
- leetcode 71. Simplify Path
- leetcode 71. Simplify Path
- 【LeetCode】Simplify Path 解题报告
- [Leetcode]Simplify Path
- LeetCode(45) Simplify Path
- LeetCode : Simplify Path
- LeetCode | Simplify Path
- Leetcode-71. Simplify Path