题目242
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
class Solution {
public:
bool isAnagram(string s, string t) {
int array[26] = {0};
for(int i =0;i<s.size();i++)
{
int m = s[i] -'a';
array[m]++;
}
for(int i =0;i<t.size();i++)
{
int m = t[i] -'a';
array[m]--;
}
for(int i =0;i<26;i++)
{
if(array[i] != 0){
return false;
}
}
return true;
}
};
使用排序字符串的排序算法求解
class Solution {
public:
bool isAnagram(string s, string t) {
char array1[] = {0};
char array2[] = {0};
sort(s.begin(),s.end());
sort(t.begin(),t.end());
for (int i = 0; i < max(s.size(),t.size()); ++i) {
if (s[i]!= t[i]){
return false;
}
}
return true;
}
};
使用心得:
学会使用排序算法
较为简单