标签:style blog color 使用 io for ar div log
Given an array of strings, return all groups of strings that are anagrams.
Note: All inputs will be in lower-case.
思路:对每个string进行排序,并使用map记录排序之后值相同的string的索引。
1 class Solution { 2 public: 3 vector<string> anagrams( vector<string> &strs ) { 4 vector<string> result; 5 unordered_map<string,vector<size_t>> strMap; 6 for( size_t i = 0; i != strs.size(); ++i ) { 7 string curStr = strs[i]; 8 sort( curStr.begin(), curStr.end() ); 9 strMap[curStr].push_back( i ); 10 } 11 for( auto iter = strMap.begin(); iter != strMap.end(); ++iter ) { 12 vector<size_t>& idxVec = iter->second; 13 if( idxVec.size() > 1 ) { 14 for( size_t i = 0; i != idxVec.size(); ++i ) { 15 result.push_back( strs[idxVec[i]] ); 16 } 17 } 18 } 19 return result; 20 } 21 };
标签:style blog color 使用 io for ar div log
原文地址:http://www.cnblogs.com/moderate-fish/p/3939080.html