初级算法15. 有效的字母异位词

Posted 且听疯吟吖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初级算法15. 有效的字母异位词相关的知识,希望对你有一定的参考价值。

题目:

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

例如,
s = "anagram",t = "nagaram",返回 true
s = "rat",t = "car",返回 false

注意:
假定字符串只包含小写字母。

提升难度:
输入的字符串包含 unicode 字符怎么办?你能能否调整你的解法来适应这种情况?

1,解题思路:

本题比较简单,直接统计两个字符串中128个字符出现的个数,然后就比较数量是否相等即可。

class Solution {
public:
    bool isAnagram(string s, string t) {
       map<char,int> maps;
       map<char,int> mapt;
       
       if(s.size()!=t.size()){
           return false;
       }
        
       for(int i = 0;i < s.size();++i){
           if(maps.find(s[i])!=maps.end()){
               maps[s[i]] += 1;
           }else{
               maps[s[i]] = 1;
           }
           
           if(mapt.find(t[i])!=mapt.end()){
               mapt[t[i]] += 1;
           }else{
               mapt[t[i]] = 1;
           }
       }
       
       for(int i = 0;i < t.size();++i){
           if(maps[s[i]]!=mapt[s[i]]){
               return false;
           }
       }
        
       return true;
    }
};

 

以上是关于初级算法15. 有效的字母异位词的主要内容,如果未能解决你的问题,请参考以下文章

数据结构和算法LeetCode,初级算法-15有效的字母异位词

数据结构和算法LeetCode,初级算法-15有效的字母异位词

前端与算法 leetcode 242. 有效的字母异位词

代码随想录算法训练营第六天 | 242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和

代码随想录算法训练营第六天 | 242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和

leetcode算法242.有效的字母异位词