LeetCode1233. 删除子文件夹

这道题的一个重要思路是要对文件夹名按照字典序进行排序,然后遍历即可

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;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_32862515/article/details/108568747