1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Solution { public String addBinary(String a, String b) { int i = a.length() - 1, j = b.length() - 1; StringBuilder sb = new StringBuilder(); int carry = 0; while (i >= 0 || j >= 0 || carry > 0) { int x = i >= 0 ? a.charAt(i--) - '0' : 0; int y = j >= 0 ? b.charAt(j--) - '0' : 0; int sum = carry + x + y; sb.append(sum & 1); carry = sum >> 1; }
return sb.reverse().toString(); } }
|
References
67. Add Binary
剑指 Offer II 002. 二进制加法