二进制求和 两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 例: 输入:a = “11”, b = “1” 输出:”100” 12345678910111213141516171819function addBinary(a: string, b: string): string { let add = 0; let sum = []; for (let i = a.length - 1, j = b.length - 1; i >= 0 || j >= 0; i--, j--) { // 位数不够,默认为 0 let num1 = +a[i] || 0; let num2 = +b[j] || 0; // 两数相同异或为0,0与任意数字异或为数字本身 sum.unshift(num1 ^ num2 ^ add); add = num1 + num2 + add > 1 ? 1 : 0; } if (add === 1) sum.unshift(1); return sum.join('');};