有效的字母异位词

简介: 有效的字母异位词

力扣

思想: 采用哈希映射:将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:有效的字母异位词
46 0
|
6月前
输入一个字符判断是数字还是字母 如果是字母是大写字母还是小写字母 是声母还是韵母
输入一个字符判断是数字还是字母 如果是字母是大写字母还是小写字母 是声母还是韵母
77 1
输入一个字符判断是数字还是字母 如果是字母是大写字母还是小写字母 是声母还是韵母
|
21天前
|
索引
【LeetCode 11】242.有效的字母异位词
【LeetCode 11】242.有效的字母异位词
13 0
【LeetCode 11】242.有效的字母异位词
|
5月前
917. 仅仅反转字母
917. 仅仅反转字母
|
5月前
|
JavaScript 前端开发 Java
leetcodet题解:242.有效的字母异位词
leetcodet题解:242.有效的字母异位词
24 0
|
6月前
【力扣】242. 有效的字母异位词
【力扣】242. 有效的字母异位词
|
6月前
345.反转字符串中的元音字母
345.反转字符串中的元音字母
27 0
|
6月前
|
C++
有效的字母异位词(C++)
有效的字母异位词(C++)
34 0
|
6月前
|
索引
leetcode-438:找到字符串中所有字母异位词
leetcode-438:找到字符串中所有字母异位词
38 0
|
6月前
LeetCode 242. 有效的字母异位词
LeetCode 242. 有效的字母异位词
35 0