1class Solution {2public:3int check(string &s, unordered_map<string, int> &mp) {4string temp;5temp.push_back(s[0]); // for maintaining prefix string67for (int i = 1; i < s.size(); i++) {8if (s[i] == '/') {9if (mp.count(temp)) // for checking prefix exist in map10return true;11temp += s[i];12} else13temp += s[i];14}15mp[s] = 1; // if string doesnot exist put it in map16return false;17}18vector<string> removeSubfolders(vector<string> &folder) {19unordered_map<string, int> mp;20sort(folder.begin(), folder.end());21vector<string> ans;2223for (auto it : folder) {24if (!check(it, mp)) ans.push_back(it);25}2627return ans;28}29};