题目
思路
类似桶排序思路。
-
定义两个int类型的辅助数组。
-
将字符数组中的字符对应ASCII放在辅助数组中,出现就++。
-
最后比较辅助数组的值,如果相等则返回true,否则返回false。
#include<stdio.h>
#include<string.h>
int main(){
char s1[100],s2[100];
gets(s1);
gets(s2);
int len1,len2,i,j,flag=1;
int a[27]={0},b[27]={0};//数组赋初值
len1=strlen(s1);
len2=strlen(s2);
for(i=0; i<len1; i++){
a[s1[i]-'a']++;
}
for(j=0; j<len2; j++){
b[s2[j]-'a']++;
}
for(i=0; i<26; i++)
if(a[i]!=b[i]){
flag=0;
break;
}
if(flag==1)
printf("true");
else
printf("false");
return 0;
}
注意
辅助数组,一定要记得赋初值!没有赋初值代码易错!!!