Simplify Path
方法:这里实际只需要处理".."和对应的字符
class Solution { public: string simplifyPath(string path) { vector<string> s; for(string::iterator iter = path.begin(); iter != path.end(); ) { ++iter; string::iterator _iter = find(iter, path.end(), '/'); string dir = string(iter, _iter); if(!dir.empty() && dir != ".") { if(dir == "..") { if(!s.empty()) s.pop_back(); } else s.push_back(dir); } iter = _iter; } stringstream ss; if(s.empty()) ss << "/"; else { for(vector<string>::iterator iter=s.begin(); iter != s.end(); ++iter) ss << "/" << *iter; } return ss.str(); } };

浙公网安备 33010602011771号