Given two strings s and t, write a function to determine if t is an anagram of s.

For example, s = "anagram", t = "nagaram", return true. s = "rat", t = "car", return false.

Note: You may assume the string contains only lowercase alphabets.

Follow up: What if the inputs contain unicode characters? How would you adapt your solution to such case?

很水的题目,题意是判断两个字符串中包换的各个小写的字母数量是不是一样的。直接采用计数排序的策略即可

class Solution {
public:
    bool isAnagram(string s, string t) {
        int cnt[26] = {0};
        for(auto &ch:s) {
            cnt[ch - 'a'] += 1;
        }
        for(auto &ch:t) {
            cnt[ch - 'a'] -= 1;
        }
        for(int i = 0; i < 26; ++i)
            if(cnt[i]) return false;
        return true;
    }
};

相关文章:

  • 2022-02-12
  • 2021-09-28
  • 2021-12-02
  • 2022-01-24
  • 2021-10-12
  • 2021-08-30
  • 2022-12-23
猜你喜欢
  • 2021-05-07
  • 2021-04-11
  • 2021-06-20
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案