【leetcode】242 有效的字母异位词(字符串)

题目链接:https://leetcode-cn.com/problems/valid-anagram/

题目描述

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

示例 1:

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

示例 2:

输入: s = "rat", t = "car"
输出: false

代码

建立哈希表统计每个字符出现的次数;当且仅当两个字符串每个字符出现的次数一致时,返回成功。

class Solution {
public:
    bool isAnagram(string s, string t) {
        if(s.size()!=t.size())
            return false;

        int m[26] = {0};
        for (int i = 0; i < s.size(); ++i) {
            m[s[i] - 'a'] += 1;
        }
        for (int j = 0; j <t.size() ; ++j) {
            m[t[j] - 'a'] -= 1;
        }

        for (int k = 0; k < 26; ++k) {
            if(m[k]!=0)
                return false;
        }
        return true;
    }
};

猜你喜欢

转载自blog.csdn.net/zjwreal/article/details/89707404
今日推荐