题目:有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:
输入: s = “rat”, t = “car”
输出: false
说明:
你可以假设字符串只包含小写字母。
代码实现:
bool isAnagram(char* s, char* t) {
int * s_buffer;
int * t_buffer;
int s_len;
int t_len;
/* 分配空间 */
s_buffer = (int *)malloc(sizeof(int) * 256);
t_buffer = (int *)malloc(sizeof(int) * 256);
memset(s_buffer, 0, sizeof(int) * 256);
memset(t_buffer, 0, sizeof(int) * 256);
/* 两个字符串大小不一致,返回false */
s_len = strlen(s);
t_len = strlen(t);
if(s_len != t_len)
return false;
/* 计算字符串1中各个字符的数目 */
for(int i = 0; i < s_len; i++)
{
s_buffer[s[i]]++;
}
/* 计算字符串2中各个字符的数目 */
for(int i = 0; i < t_len; i++)
{
t_buffer[t[i]]++;
}
/* 判断两个字符串中字符是否一致 */
for(int i = 0; i < 256; i++)
{
if((s_buffer[i] != t_buffer[i]))
return false;
}
return true;
}
1291

被折叠的 条评论
为什么被折叠?



