Find Duplicate File in System LeetCode solution in C++
1class Solution {2public:3vector<vector<string>> findDuplicate(vector<string> &paths) {4vector<vector<string>> ans;5unordered_map<string, vector<string>> map;6for (auto &s : paths) {7string startPath;8bool firstSpace = true;9for (int i = 0; i < s.size(); i++) {10if (firstSpace) {11startPath += s[i];12}1314if (firstSpace && s[i] == ' ') {15firstSpace = false;16startPath.pop_back();17}1819if (s[i] == ' ') {20i++;21string fileName;2223while (s[i] != '(') {24fileName += s[i++];25}2627i++;28string fileContent;2930while (s[i] != ')') {31fileContent += s[i++];32}3334map[fileContent].push_back(startPath + '/' + fileName);35}36}37}38for (auto &i : map) {39if (i.second.size() > 1) {40ans.push_back(i.second);41}42}43return ans;44};45};