玩命加载中 . . .

有效的字母异位词


描述

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

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

示例 1:

输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:

输入: s = “rat”, t = “car”
输出: false

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/valid-anagram
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

class Solution {
public:
    bool isAnagram(string s, string t) {
        int record[26] = {0};
        // 扫描字符串s
        for(int i=0; i<s.size(); i++){
            record[s[i] -'a']++;
        }
        //扫描字符串t
        for(int j=0; j<t.size(); j++){
            record[t[j] -'a']--;
        }
        //扫描record数组判断结果
        for(int k=0; k<26; k++){
            // record数组如果有的元素不为零0,说明字符串s和t 一定是谁多了字符或者谁少了字符
            if(record[k] != 0)
                return false;
        }
        // record数组所有元素都为零0,说明字符串s和t是字母异位词
        return true;
    }
};

文章作者: Jack Tim
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jack Tim !
评论
  目录