leetcode 49 字母异位词分组

阅读 47

2022-01-05

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


用哈希实现:

#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)

0 0 举报