题目描述
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".
记住stringstream以及getline函数的作用
class Solution {public: string simplifyPath(string path) { vectorstr; stringstream ss(path); string sub; while(getline(ss,sub,'/')) { if(sub=="."||sub=="") continue; if(sub==".."&&str.size()) str.pop_back(); if(sub!="..") str.push_back(sub); } string res; for(string s:str) res+="/"+s; if(res.empty()) res+="/"; return res; }};