QUESTION:
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
EXPLANATION:
其实也和之前的四则运算是一样的,但是总感觉二进制的会有更为简单的办法。
SOLUTION:
public class Solution {
public String addBinary(String a, String b) {
char[] aArray = a.toCharArray();
char[] bArray = b.toCharArray();
int aindex = aArray.length-1;int bIndex = bArray.length-1;
int ai = 0;int bi = 0;int carry = 0;
StringBuilder result = new StringBuilder();
while (aindex>=0 || bIndex >= 0){
ai = aindex >= 0? Integer.parseInt(aArray[aindex]+""):0;
bi = bIndex >= 0? Integer.parseInt(bArray[bIndex]+""):0;
int temp = ai+bi+carry;
carry = temp / 2;
temp = temp % 2;
result.insert(0,temp);
aindex--;bIndex--;
}
if(carry!=0)
result.insert(0,1);
return result.toString();
}
}