思路
不算原创思路
leetcode-cn.com/problems/mi…
代码
/**
* @param {string} s1
* @param {string} s2
* @return {number}
*/
var minimumSwap = function(s1, s2) {
let len = s1.length;
if (s2.length !== len) {
return -1;
}
let dif1 = 0;
let dif2 = 0;
for(let i = 0; i < len; ++i) {
if (s1[i] === 'x') {
if (s1[i] !== s2[i])
dif1 ++;
} else {
if (s1[i] !== s2[i])
dif2 ++;
}
}
if ((dif1 + dif2) % 2 !== 0)
return -1;
return dif1 % 2 + dif2 % 2 + Math.floor(dif1 / 2) + Math.floor(dif2 / 2)
};