当前位置: 代码迷 >> 综合 >> LeetCode 242 有效的字母异位词 哈希表初探 数组 or unordered_map
  详细解决方案

LeetCode 242 有效的字母异位词 哈希表初探 数组 or unordered_map

热度:99   发布时间:2023-12-20 23:15:14.0

题目链接
在这里插入图片描述
场景:判断某个元素是否出现过
思路:考虑使用哈希表
解法一:哈希数组. 由题意可知字符均为小写英文字母,数量有限,可以使用哈希数组。

class Solution {
    
public:bool isAnagram(string s, string t) {
    if(s.length() != t.length()) return false;int cnt[26] = {
    0};for(int i = 0; i < s.length(); i++){
    cnt[s[i] - 'a']++;}for(int i = 0; i < t.length(); i++){
    cnt[t[i] - 'a']--;}for(int i=0;i<26;i++){
    if(cnt[i]!=0) return false;}return true;}
};

Unicode进阶:考虑使用map容器

class Solution {
    
public:bool isAnagram(string s, string t) {
    //Unicode进阶if(s.length() != t.length()) return false;unordered_map<char, int> hashmap;for(auto i:s){
    hashmap[i]++;}for(auto i:t){
    hashmap[i]--;}for(auto i:hashmap){
    if(i.second!=0) return false;}return true;}
};