也是没有官方的解答,
class Solution {
public String addBinary(String a, String b) {
StringBuffer ans = new StringBuffer();
int ca =0;
for(int i = a.length() - 1,j = b.length()-1; i>=0 || j>=0 ;i--,j--){
int sum = ca;
sum +=i>=0?a.charAt(i)-'0':0;
sum +=j>=0?b.charAt(j)-'0':0;
ans.append(sum%2);
ca = sum/2;
}
ans.append(ca ==1?1:"");
return ans.reverse().toString();
}
}
首先创建一个StringBuffer的对象,然后sum是综合,然后补位这些数字,最后判断sum%2,把其加入,然后ca是进位,
最后判断是否进位,然后返回反转的数字