#LeetCode:49. Group Anagrams

灆洢 2019-04-14 23:35:10

以排序的字串作為 Key ,將各個字串放入以其字串所得之 Key 並與之相同 Key 的陣列中即可。

C++(52ms)

/*******************************************************/
/* LeetCode 49. Group Anagrams                         */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2019/04/14                                 */
/*******************************************************/
#include <vector>
#include <string>
#include <map>
#include <algorithm>
using namespace std;

class Solution {
public:
  vector<vector<string>> groupAnagrams(vector<string>& strs) {
    map<string, vector<string>> stringMap;
    for(int i = 0 ; i < strs.size() ; ++i){
      string key = strs[i];
      sort(key.begin(), key.end());
      stringMap[key].push_back(strs[i]);
    }

    vector<vector<string>> result;
    for(auto strings : stringMap){
      result.push_back(strings.second);
    }
    return result;
  }
};

在〈“#LeetCode:49. Group Anagrams”〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料