Simplify Path leetcode
Given an absolute path for a file (Unix-style), simplify it.
For example,
path = "/home/"
, => "/home"
path = "/a/./b/../../c/"
, => "/c"
Subscribe to see which companies asked this question
这里我投机取巧,使用了C++自带的getline函数,只需要将每行的分隔符设置为"/",就可以成功将子路径分离出来,如果需要锻炼编程能力的话,最好自己实现下
string simplifyPath(string path) { string str; vector<string> strs; stringstream ss(path); while (getline(ss, str, '/')) { if (str == "." || str == "") continue; else if (str == "..") { if (!strs.empty()) strs.pop_back(); } else strs.push_back(str); } string ret; for (auto s : strs) ret += "/" + s; return ret.empty() ? "/" : ret; }