这道题的一个重要思路是要对文件夹名按照字典序进行排序,然后遍历即可。
class Solution {
public:
vector<string> removeSubfolders(vector<string>& folder) {
sort(folder.begin(), folder.end());
int len = folder.size();
vector<string> ans;
string tmp = folder[0];
ans.push_back(tmp);
int tmp_size = tmp.size();
for (int i = 1; i < len; i++)
{
if (tmp == folder[i].substr(0, tmp_size)
&& folder[i][tmp_size] == '/')
{
continue;
}
else
{
ans.push_back(folder[i]);
tmp = folder[i];
tmp_size = tmp.size();
}
}
return ans;
}
};