题目描述:
样例:
方法一:
class Solution {
public:
string simplifyPath(string path) {
vector<string> curstr;
string temp;
stringstream ss;
ss << path;
while (getline(ss, temp, '/'))
{
//多个斜杠视为单个斜杠
if (temp == "") continue;
//一个点表示当前目录本身
if (temp == ".") continue;
//两个点返回上一级目录
if (temp == "..")
{
if (curstr.size() != 0)
{
curstr.pop_back();
}
continue;
}
curstr.push_back(temp);
}
string ans;
for (int i = 0; i < curstr.size(); i++)
{
ans += "/" + curstr[i];
}
return ans == "" ? "/" : ans;
}
};
在暑假时写过这个题目,当时还不懂字符串流和getline()函数的用法, 现在十分钟不到就能够写出来了,也算有所进步了。