[leetcode] 242. Valid Anagram

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;
    }
};
posted @ 2017-09-03 00:00  狂徒归来  阅读(136)  评论(0编辑  收藏  举报