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

Leetcode:Anagrams 回文构词法

时间:2014-06-10 08:44:13      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

戳我去解题

Given an array of strings, return all groups of strings that are anagrams.

Note: All inputs will be in lower-case.

 

Anagram(回文构词法)是指打乱字母顺序从而得到新的单词

回文构词法有一个特点:单词里的字母的种类和数目没有改变,只是改变了字母的排列顺序。
因此,将几个单词按照字母顺序排序后,若它们相等,则它们属于同一组anagrams

bubuko.com,布布扣
class Solution {
public:
    vector<string> anagrams(vector<string> &strs) {
       unordered_map<string, vector<string>> strHash;
       for (auto strVal : strs) {
           string key = strVal;
           sort(key.begin(), key.end());
           strHash[key].push_back(strVal);
       }
       vector<string> res;
       for (auto resVal : strHash) {
           if (resVal.second.size() > 1) {
               for (auto strVal : resVal.second) {
                   res.push_back(strVal);
               }
           }
       }
       return res;
    }
};
bubuko.com,布布扣

 

Leetcode:Anagrams 回文构词法,布布扣,bubuko.com

Leetcode:Anagrams 回文构词法

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/wwwjieo0/p/3778647.html

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