leetcode71. 简化路径

分析

将path按照"/"拆分成字符串temp,如果temp为"."就什么都不干,为".."则弹出ans最后一个,其他情况则加入到ans中。

class Solution {
public:
    string simplifyPath(string path) {
        vector<string> ans;
        int len=path.length();
        for(int i=0;i<len;){
            if(path[i]=='/')i++;
            else {
                int index=i;
                while(i<len&&path[i]!='/'){
                    i++;
                }
                string temp=path.substr(index,i-index);
                if(temp==".")continue;
                    else if(temp==".."&&!ans.empty())ans.pop_back();
                        else if(temp!="."&&temp!="..")ans.push_back(temp);
            }
        }
        if(ans.empty())return "/";
        path="";
        for(int i=0;i<ans.size();i++)
            path+="/"+ans[i];
        return path;
    }
};