0
点赞
收藏
分享

微信扫一扫

242. 有效的字母异位词 (Leetcode刷题笔记)

覃榜言 2022-02-05 阅读 41

242. 有效的字母异位词 (Leetcode刷题笔记)

https://lunan0320.cn

文章目录

题目

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

解题代码 C++(数组)

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

解题代码 C++(哈希表)


class Solution {
public:
    bool isAnagram(string s, string t) {
        if(s.size() != t.size()) return false;
        unordered_map<char,int> hash_map;
        for(char c : s){
            hash_map[c]++;
        }
        for(char c : t){
            hash_map[c]--;
        }
        for(char c : s){
            if(hash_map[c] != 0) return false;
        }
        return true;
    }
};

算法效率

举报

相关推荐

0 条评论