242. 有效的字母异位词
难度简单
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram" 输出: true
示例 2:
输入: s = "rat", t = "car" 输出: false
说明:
你可以假设字符串只包含小写字母。
进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
思路:如果两个字符串长度不相等,那么它们一定不是异位词,相等,则记录两个字符串中每个字符的长度,求出它们的差,如果都为0,则是异位词。
1 bool isAnagram(char * s, char * t){ 2 if(strlen(s)!=strlen(t)){ 3 return false; 4 } 5 int num1[26],num2[26]; 6 int i; 7 for(i=0;i<26;i++){ 8 num1[i]=0; 9 num2[i]=0; 10 } 11 for(i=0;i<strlen(s);i++){ 12 num1[s[i]-'a']++; 13 num2[t[i]-'a']++; 14 } 15 for(i=0;i<26;i++){ 16 if((num1[i]-num2[i])!=0){ 17 break; 18 } 19 } 20 if(i==26){ 21 return true; 22 } 23 return false; 24 }