
class Solution {
public:
string simplifyPath(string path) {
string res,s;//建立一个存储最终结果和中间结果的字符串
path+="/";//是为了防止path最后一组没有/结束的情况
for(auto p:path)
{
if(res.empty())res+=p;//读入第一个'/';
else if(p!='/')s+=p;//直到第一组/的数据读进来;
else
{
if(s=="..")//
{
if(res.size()>1)//如果此时不是根目录
{
res.pop_back();
while(res.back()!='/')res.pop_back();//直到把上一段全pop掉
}
}
else if(s!=""&&s!=".")res+=s+'/';//如果不是//这种情况或者/./这种情况 我们就把它加入结果;
s=""; //把存储/ /数据的重新清空;
}
}
if(res.size()>1)res.pop_back();//如果此时不是根目录我们就把最开始加进来的/pop掉
return res;
}
};