有效的字母异位词

简介: 有效的字母异位词

力扣

思想: 采用哈希映射:将a-z映射为26个数字

具体算法实现:将字符串s和t中的字符转化为数字

看图:

       字符相同就在数字上 减去1

       如果最后每个数字次数都为0,那么s和t就为 字母异位词

81fac9cf7e35872e0dbb91b264badbba.gif

class Solution {
public:
    bool isAnagram(string s, string t) {
        int record[26] = {0};
        for (int i = 0; i < s.size(); i++) {
            // 并不需要记住字符a的ASCII,只要求出一个相对数值就可以了
            record[s[i] - 'a']++;
        }
        for (int i = 0; i < t.size(); i++) {
            record[t[i] - 'a']--;
        }
        for (int i = 0; i < 26; i++) {
            if (record[i] != 0) {
                // record数组如果有的元素不为零0,说明字符串s和t 一定是谁多了字符或者谁少了字符。
                return false;
            }
        }
        // record数组所有元素都为零0,说明字符串s和t是字母异位词
        return true;
    }
};
相关文章
|
6月前
|
Java C++ Python
leetcode-242:有效的字母异位词
leetcode-242:有效的字母异位词
48 0
|
6月前
输入一个字符判断是数字还是字母 如果是字母是大写字母还是小写字母 是声母还是韵母
输入一个字符判断是数字还是字母 如果是字母是大写字母还是小写字母 是声母还是韵母
83 1
输入一个字符判断是数字还是字母 如果是字母是大写字母还是小写字母 是声母还是韵母
|
17天前
使用字母
【10月更文挑战第25天】使用字母。
21 1
|
1月前
|
索引
【LeetCode 11】242.有效的字母异位词
【LeetCode 11】242.有效的字母异位词
15 0
【LeetCode 11】242.有效的字母异位词
|
1月前
|
存储
Leetcode第49题(字母异位词分组)
LeetCode第49题要求将字符串数组中的字母异位词分组,可以通过将每个字符串排序后作为键存入哈希表,最后将哈希表中的值添加到结果列表中来实现。
15 1
|
5月前
|
JavaScript 前端开发 Java
leetcodet题解:242.有效的字母异位词
leetcodet题解:242.有效的字母异位词
25 0
|
6月前
【力扣】242. 有效的字母异位词
【力扣】242. 有效的字母异位词
|
6月前
345.反转字符串中的元音字母
345.反转字符串中的元音字母
28 0
|
6月前
|
C++
有效的字母异位词(C++)
有效的字母异位词(C++)
34 0
|
6月前
leetcode-49:字母异位词分组
leetcode-49:字母异位词分组
44 0