67. Add Binary
Problem:
Skip
Solution:
Given two binary strings, return their sum (also a binary string).
The input strings are both non-empty and contains only characters
1
or 0
.
Example 1:
Input: a = "11", b = "1" Output: "100"
Example 2:
Input: a = "1010", b = "1011" Output: "10101"Analysis:
Skip
Solution:
class Solution { public String addBinary(String a, String b) { int i = a.length() - 1, j = b.length() - 1, carry = 0; StringBuilder sb = new StringBuilder(); while(i >= 0 || j >= 0 ) { int x = i < 0 ? 0 : a.charAt(i) - '0'; int y = j < 0 ? 0 : b.charAt(j) - '0'; int cur = x + y + carry; sb.append(cur & 1); carry = cur >> 1; i--; j--; } if (carry == 1) sb.append(carry); return sb.reverse().toString(); } }
评论
发表评论