删除相同的部分,统计剩下部分x和y的个数,然后就可以直接得出结论。
class Solution {
public:
int minimumSwap(string s1, string s2) {
int diffx_num = 0;
int diffy_num = 0;
for (int i=0;i<s1.size();i++){
if (s1[i]!=s2[i]){
if (s1[i]=='x'){diffx_num ++;}
if (s1[i]=='y'){diffy_num ++;}
}
}
// return res;
int res = 0;
if ((diffx_num + diffy_num)%2!=0){
return -1;
}
else{
res = diffx_num/2+diffy_num/2+ (diffx_num%2) * 2;
return res;
}
}
};