MCPcopy Index your code
hub / github.com/Blankj/awesome-java-leetcode / addBinary

Method addBinary

src/com/blankj/easy/_0067/Solution.java:12–35  ·  view source on GitHub ↗
(String a, String b)

Source from the content-addressed store, hash-verified

10 */
11public class Solution {
12 public String addBinary(String a, String b) {
13 StringBuilder sb = new StringBuilder();
14 int carry = 0, p1 = a.length() - 1, p2 = b.length() - 1;
15 while (p1 >= 0 && p2 >= 0) {
16 carry += a.charAt(p1--) - '0';
17 carry += b.charAt(p2--) - '0';
18 sb.insert(0, (char) (carry % 2 + '0'));
19 carry >>= 1;
20 }
21 while (p1 >= 0) {
22 carry += a.charAt(p1--) - '0';
23 sb.insert(0, (char) (carry % 2 + '0'));
24 carry >>= 1;
25 }
26 while (p2 >= 0) {
27 carry += b.charAt(p2--) - '0';
28 sb.insert(0, (char) (carry % 2 + '0'));
29 carry >>= 1;
30 }
31 if (carry == 1) {
32 sb.insert(0, '1');
33 }
34 return sb.toString();
35 }
36
37// public String addBinary(String a, String b) {
38// StringBuilder sb = new StringBuilder();

Callers 1

mainMethod · 0.95

Calls 1

insertMethod · 0.80

Tested by

no test coverage detected