二进制求和
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/add-binary
给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。
示例 1:
输入:a = "11", b = "1"
输出:"100"
示例 2:
输入:a = "1010", b = "1011"
输出:"10101"
解答:
classSolution { publicStringaddBinary(Stringa, Stringb) { intaLast=a.length() -1, bLast=b.length() -1; StringBuilderres=newStringBuilder(); intcarry=0; while (aLast>=0||bLast>=0) { intaVal=0, bVal=0; if (aLast>=0) aVal=a.charAt(aLast--) -'0'; if (bLast>=0) bVal=b.charAt(bLast--) -'0'; res.append((aVal+bVal+carry) %2); if ((aVal+bVal+carry) >1) carry=1; elsecarry=0; } if (carry==1) res.append(carry); returnres.reverse().toString(); } }