- 思路
- 遍歷字符串a
- 計算a中每個字符出現的次數
- 計算b中相同字符的出現次數
- 比較
- 注意:
- 任一字符串爲空返回false。
- 兩個字符串長度不等,可直接返回false。
- 複雜度率高n*n,降低複雜度的方法:
- 使用哈希表,記錄字符和出現次數。
- 使用數組或者容器,acsII個數爲256,申請256的空間即可,記錄字符出現的次數。
bool f(char *str1,char *str2)
{
if (strlen(str1)!=strlen(str2))
{
return 0;
}
if (*str1=='\0'||*str2=='\0')
{
return 0;
}
while(*str1 != '\0')
{
if (c_time(str1,*str1)!=c_time(str2,*str1))
{
return 0;
}
str1++;
}
return 1;
}
int c_time(char *str,char c)
{
int sum = 0;
if (!str)
{
return sum;
}
while(*str != '\0')
{
if (*str == c)
{
sum++;
}
str++;
}
return sum;
}