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

Note: All inputs will be in lower-case.

题解: 判断字符串是否为回文构词法生成的。找出所有由同一回文构词法生成的字符串对。

使用map用于散列。 将strs中的字符串strs[i],在串内进行字典排序,生成key,原始s[i]不变。 将该字符串s[i]映射到key所对应位置。map[key].push_back(str[i]).

依次对字符串数组进行散列。

最后遍历map, 按照字典序将key挂载字符串大于1的位置元素输出到结果vector中。

 class Solution {
public:
vector<string> anagrams(vector<string> &strs) {
int i;
map<string, vector<string> > vset;
for(i=;i<strs.size();i++)
{
string key = strs[i];
sort(key.begin(),key.end());
vset[key].push_back(strs[i]);
}
vector<string> result;
map<string, vector<string> >::iterator iter;
for(iter = vset.begin();iter!=vset.end(); iter++)
{
if(iter->second.size()>)
{
vector<string>::iterator viter;
for(viter=iter->second.begin(); viter!=iter->second.end();viter++)
result.push_back(*viter);
}
}
return result;
}
};

转载请注明出处:http://www.cnblogs.com/double-win/ 谢谢。

最新文章

  1. 函数动态参数实现format
  2. thinkphp 动态 级联
  3. 解决:HTML中多文本域(textarea)回车后数据存入数据库,EL表达式取出异常。
  4. tomcat+javaWeb+spring的一个都市供求管理系统
  5. [CAMCOCO][C#]我的系统架构.服务器端.(二)----DATA层
  6. Oracle 表数据去重
  7. yii2在ubuntu下执行定时任务
  8. Java内存溢出的详细解决方案
  9. Protel中放置汉字工具的使用图示
  10. Codeforces Round #246 (Div. 2) D. Prefixes and Suffixes(后缀数组orKMP)
  11. MVC验证12-使用DataAnnotationsExtensions对整型、邮件、最小值、文件类型、Url地址等验证
  12. 【DirectX12】第六章-练习
  13. Spvmn测试环境搭建及其安全性讨论
  14. elasticsearch自动按天创建索引脚本
  15. asp.net EF框架执行原生SQL语句
  16. 通用shellcode
  17. JS框架设计之主流框架的引入机制DomeReady一种子模块
  18. Java绘制图片并进行合成
  19. Oracle案例04——ORA-39700: database must be opened with UPGRADE option
  20. centos下安装memcached并设置开机自动启动-两种方法

热门文章

  1. CentOS7|Redhat7挂载NTFS格式磁盘
  2. 怎么分辨linux系统是虚拟机还是物理机
  3. 关于1.0.0版Backbone.js调用validate
  4. Rhythmk 一步一步学 JAVA (18) Axis2 创建 WebService
  5. Rhythmk 一步一步学 JAVA (13) Spring-2 之Ben懒加载以及生命周期,单例
  6. 微信小程序中this关键字使用技巧
  7. (转) Linux下Setuid命令!
  8. 【313】python 中 print 函数用法总结
  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统
  10. Java的SSH网站