您的位置:首页 > 其它

242. Valid Anagram

2016-02-17 11:34 309 查看
242. Valid Anagram

Difficulty: Easy

给定两个字符串s和t,确定它们是否是相同字母异序词。

Given two strings s and t, write a function to determine if t is an anagram of s.

For example, s = “anagram”, t = “nagaram”, return true. s = “rat”, t = “car”, return false.

Note: You may assume the string contains only lowercase alphabets.

Follow up: What if the inputs contain unicode characters? How would you adapt your solution to such case?

//假设给定的字符串只包含小写字母
bool isAnagram(char* s, char* t) {
int i;
int lens;
int* a;
lens=strlen(s);
if(lens != strlen(t))
return false;

a=(int*)malloc(26*sizeof(int));
memset(a,0,26*sizeof(int));

for(i=0;i<lens;i++)
{
a[s[i]-49-'0']++;    //字母'a'对应a[0]
a[t[i]-49-'0']--;
}
for(i=0;i<26;i++)
{
if(a[i] != 0)
{
free(a);
return false;
}
}
free(a);
return true;
}


若输入字符串包含Unicode字符呢?应该如何改进代码?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: