题目链接
LCR 002 二进制求和
思路
思路1
数字逻辑,卡诺图直接梭哈
异或符号打不出来,直接截图吧
class Solution {public String addBinary(String a, String b) {Integer i=a.length()-1,j=b.length()-1;Integer sum = 0,carry = 0;StringBuilder sb = new StringBuilder();while (i>=0 || j>=0){Integer digitA = i>=0 ? a.charAt(i--)-'0':0;Integer digitB = j>=0 ? b.charAt(j--)-'0':0;sum = digitA ^ digitB ^ carry;// 这个就是每一个Sicarry = (digitA & digitB) | carry &(digitA ^ digitB);sb.insert(0,sum);}if(carry!=0)// 若最后还有进位,则加入到结果集中sb.insert(0,carry+"");return sb.toString();}
}