leetcode 242. 有效的字母异位词

问题描述

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

示例 1:

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

输入: s = "rat", t = "car"
输出: false
说明:
你可以假设字符串只包含小写字母。

进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

代码

class Solution {
public:
    bool isAnagram(string s, string t) {
        int n = s.size();
        if(t.size()!=n)return false;
        vector<int> table(26,0);
        for(auto &c:s)
            ++table[c-'a'];
        for(auto &c:t)
            --table[c-'a'];
        for(int i = 0; i < 26; ++i)
        {
            if(table[i])return false;
        }
        return true;
    }
};

结果

执行用时 :8 ms, 在所有 C++ 提交中击败了92.34%的用户
内存消耗 :7.6 MB, 在所有 C++ 提交中击败了100.00%的用户
posted @ 2020-06-16 18:14  曲径通霄  阅读(128)  评论(0编辑  收藏  举报