leetcode || 49、Anagrams
来源:互联网 发布:淘宝设置国际转运服务 编辑:程序博客网 时间:2024/05/17 01:46
problem:
Given an array of strings, return all groups of strings that are anagrams.
Note: All inputs will be in lower-case.
Hash Table String题意:给定多余两组的字符串,找出其中所有的满足以下条件的字符串:(1)字符串的字符种类和对应的数量一样(2)各个字符的位置不作区分
thinking:
(1)很直接想到用hash table来解决这类问题
(2)也可以借用STL map,更加便捷,主键key 存放排序好的string,value 存放指向该string的指针
map<string, vector<const string *> > mapAnagram;
code:
class Solution{ public:vector<string> anagrams(vector<string> &strs) { vector<string> ret; map<string, vector<const string *> > mapAnagram; for (vector<string>::const_iterator it = strs.begin(); it != strs.end(); ++it) { string key(*it); sort(key.begin(), key.end()); mapAnagram[key].push_back(&*it); } for (map<string, vector<const string *> >::const_iterator it = mapAnagram.begin(); it != mapAnagram.end(); ++it) { if (it->second.size() > 1) { for (vector<const string *>::const_iterator itstr = it->second.begin(); itstr != it->second.end(); ++itstr) { ret.push_back(**itstr); } } } return ret;}};
0 0
- Leetcode 49 Anagrams
- LeetCode 49: Anagrams
- [Leetcode 49, medium] Anagrams
- [leetcode 49] Anagrams
- [leetcode 49] Anagrams
- leetcode || 49、Anagrams
- Leetcode 49 Anagrams
- 【leetcode-49】Anagrams(java)
- Leetcode #49 Anagrams
- LeetCode(49) Anagrams
- leetcode 49: Anagrams
- Leetcode#49||Group Anagrams
- leetcode 49:Group Anagrams
- Leetcode 49: Group Anagrams
- 【leetcode】【49】Group Anagrams
- LeetCode 49 - Group Anagrams
- LeetCode 49 Group Anagrams
- leetcode(49):Group Anagrams
- 字符串分割--java中String.split()用法
- 内存映射文件
- 观察者模式
- 公开课机器学习笔记(17)学习理论二 VC维、ERM总结、模型选择、特征选择
- 安装cocoaPods
- leetcode || 49、Anagrams
- 3xian教主的警世良言兼退役贴
- 黑马程序员_日记18_Java多线程(八)--生产者消费者问题JDK1.5特性
- hive 分区表、外部表、桶表
- 母函数(Generating function)经典应用详解
- Android Activity和Intent机制学习笔记
- Boa服务器在ARM+Linux上的移植
- 2-3-4树的构造
- ios:圆形进度条1