给定两个字符串 s1
和 s2
,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。
示例 1:
输入: s1= "abc", s2= "bca" 输出: true
示例 2:
输入: s1= "abc", s2= "bad" 输出: false
说明:
0 <= len(s1) <= 100
0 <= len(s2) <= 100
====================================================================================================================================================================================================================================
分析:
统计每个字符串的字母出现的次数,再将比较。
bool CheckPermutation(char* s1, char* s2){
int str[26] = {0};
if(strlen(s1) != strlen(s2))
{
return 0;
}
for(int i=0;i<strlen(s1);i++)
{
str[s1[i]-'a']++;
str[s2[i]-'a']--;
}
for(int i=0;i<26;i++)
{
if(str[i] != 0)
{
return 0;
}
}
return 1;
}