0
点赞
收藏
分享

微信扫一扫

leetcode 49 字母异位词分组

提出需求:
在这里插入图片描述


用哈希实现:

#include<iostream>
using namespace std;
#include<vector>
#include<unordered_map>
#include<string>
#include<algorithm>


class Solution
{
public:
	vector<vector<string>>groupAnagrams(vector<string>& strs)
	{
		unordered_map<string, vector<string>>mp;//创建一个哈希表 键是字符串自身 值是一个存储字符串的容器
		for (string& str : strs)
		{
			string key = str;
			sort(key.begin(), key.end());//将字符串按字典序排列
			mp[key].emplace_back(str);//c存储字符串到容器中
		}
		vector<vector<string>>ans;
		for(auto it=mp.begin();it!=mp.end();it++)//遍历哈希表
		{
			ans.emplace_back(it->second);//保存含有相同字母的字符串
		}
		return ans;
	}
};

int main()
{
	system("pause");
	return 0;
}
举报

相关推荐

0 条评论