首页 > 代码库 > 71. Simplify Path QuestionEditorial Solution
71. Simplify Path QuestionEditorial Solution
Given an absolute path for a file (Unix-style), simplify it.
For example,
path = "/home/"
, => "/home"
path = "/a/./b/../../c/"
, => "/c"
path = "/a/./b/../c/"
, => "/a/c"
path =
"/a/./b/c/"
, => "/a/b/c"
click to show corner cases.
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".
public string SimplifyPath(string path) { List<string> list = new List<string>(); string[] words = path.Split(‘/‘); for(int i = 0; i< words.Count(); i++) { if(words[i]== "" || words[i] == ".") { ; } else if(words[i] == "..") { if(list.Count()>0) list.RemoveAt(list.Count()-1); } else list.Add(words[i]); } string res = ""; foreach( var l in list) { res += "/"+l; } if(res == "") return "/"; return res; }
71. Simplify Path QuestionEditorial Solution
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。