码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 之Anagrams(35)

时间:2016-05-26 08:42:28      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

回文构词法,将字母顺序打乱。可将字母重新排序,若它们相等,则属于同一组anagrams。

可通过hashmap来做,将排序后的字母作为key。注意后面取hashmap值时的做法。

 

技术分享
vector<string> anagrams(vector<string> &strs)
      {
          unordered_map<string, vector<string>> group;
          for (const auto &s : strs)
          {
              string key = s;
              sort(key.begin(), key.end());
              group[key].push_back(s);
          }

          vector<string>result;
          for (auto it = group.cbegin(); it != group.cend(); it++)
          {
              //insert,在result.end()之前插入元素,返回指向元素的迭代器
              if (it->second.size() > 1)
                  result.insert(result.end(), it->second.begin(), it->second.end());
          }

          return result;
      }
View Code

 

Leetcode 之Anagrams(35)

标签:

原文地址:http://www.cnblogs.com/573177885qq/p/5529612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!