leetcode——49——Group Anagrams
2016-04-16 21:05
495 查看
Given an array of strings, group anagrams together.
For example, given:
Return:
Note:
For the return value, each inner list's elements must follow the lexicographic order.
All inputs will be in lower-case.
For example, given:
["eat", "tea", "tan", "ate", "nat", "bat"],
Return:
[ ["ate", "eat","tea"], ["nat","tan"], ["bat"] ]
Note:
For the return value, each inner list's elements must follow the lexicographic order.
All inputs will be in lower-case.
class Solution { public: vector<vector<string>> groupAnagrams(vector<string>& strs) { if (strs.empty()) return vector<vector<string> >(); int len = strs.size(); //将字符串数组按照字典顺序排序 sort(strs.begin(), strs.end()); //存储结果 vector<vector<string> > ret; //利用哈希思想构建map,将排序后相等的字符串存在相应的vector map<string, vector<string>> mv; for (int i = 0; i < len; i++) { string str = strs[i]; sort(str.begin(), str.end()); mv[str].push_back(strs[i]); } for (map<string, vector<string> >::iterator iter = mv.begin(); iter != mv.end(); iter++) ret.push_back(iter->second); return ret; } };
相关文章推荐
- 码农小汪-设计模式-迭代器模式
- 构建之法阅读笔记03
- Windows下编译live555源码
- SQL对表的基本操作
- 超简洁又强大的幻灯片JS、CSS代码,兼容性强
- java中double和float区别
- 第七周学习进度条
- 再按一次退出效果实现 超简单
- Activiti 流程部署方式 activi 动态部署(高级源码篇)
- 用Matplotlib画适合发paper的图片
- Ubuntu 用vsftpd 配置FTP服务器
- android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@1ccfe
- java验证
- Jersey(1.19.1) - Building URIs
- Android实例-仿支付宝diaolog
- MySQL 数据库常用命令小结
- HDU-1426-Sudoku Killer&&NYOJ-722-数独
- nyoj21三个水杯
- 让Spring Security更安全的配置办法
- C语言扫雷基础