以LeetCode 71. 简化路径 为例:
class Solution {
public:
string simplifyPath(string path) {
if(path.size()<=1)return path;
stringstream is(path);
vector<string> strs;
string tmp;
while(getline(is,tmp,'/'))
{
if(tmp.size()==0||tmp==".")continue;
if(tmp=="..")
{
if(!strs.empty())strs.pop_back();
continue;
}
strs.push_back(tmp);
}
path="";
for(int j=0;j<strs.size();++j)
{
path+="/"+strs[j];
}
if(strs.empty())path="/";
return path;
}
};
此外在知乎看到一个相关C++字符串分割的