概述
力扣
class Solution {
public String addBinary(String a, String b) {
StringBuilder result = new StringBuilder();
int i = a.length() - 1;
int j = b.length() - 1;
int carry = 0; // 为进位符
while (i >= 0 || j >= 0) {
int digitA = i >= 0 ? a.charAt(i--) - '0' : 0;
int digitB = j >= 0 ? b.charAt(j--) - '0' : 0;
int sum = digitA + digitB + carry;
carry = sum >= 2 ? 1 : 0;
//此时的sum为进位后这一位剩下的数字
sum = sum >= 2 ? sum - 2 : sum;
result.append(sum);
}
if (carry == 1) result.append(1);
return result.reverse().toString();
}
}
最后
以上就是妩媚泥猴桃为你收集整理的剑指 Offer II 002. 二进制加法的全部内容,希望文章能够帮你解决剑指 Offer II 002. 二进制加法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复