LeetCode 242. 有效的字母异位词 (C++实现)
1. 题目描述
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的
字母异位词
。
示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:
输入: s = “rat”, t = “car”
输出: false
2. 解题思路
首先定义有26个元素的数组record,全设置为0,首先遍历s字符串,将record中s[i]-'a’位置的元素值加一,然后遍历t字符串,将record中s[i]-'a’位置的元素值减一,如果最后record里面全是0那就说明s和t是字母异位词
3. 代码实现
class Solution {
public:
bool isAnagram(string s, string t) {
vector<int> record(26,0);
for (int i = 0; i < s.size(); i++)
{
record[s[i]-'a']++;
}
for (int i = 0; i < t.size(); i++)
{
record[t[i]-'a']--;
}
for (int num : record)
{
if (num != 0)
{
return false;
}
}
return true;
}
};