class Solution {
public:
int minimumSwap(string s1, string s2) {
//题目的重点在于把s1、s2先去重,然后以示意一和示意二中为基本情况,
//就是已经去重后的obj,寻找到一个x,那么去寻找obj中的下一个x,这样只需变换一次,找不到x,就找y,需要变换两次
//因为最多剩余一个额外的x,所以最终的返回值是那样的形式
int num=0;
string obj=""; //去重,把相同索引且相同值的部分去掉,只需要留下不同的
for(int i=0;i<s1.size();i++){
if(s1[i]!=s2[i])
obj+=s1[i];
}
if(obj.size()%2!=0)
return -1;
for(int i=0;i<obj.size();i++){
if(obj[i]=='x')
num++;
}
return obj.size()/2+num%2;
}
};