您的位置:首页 > 其它

[LeetCode] Add Binary

2014-09-04 12:58 211 查看
Given two binary strings, return their sum (also a binary string).

For example,

a = 
"11"


b = 
"1"


Return 
"100"
.

public class Solution {
public String addBinary(String a, String b) {
int carry = 0;
int sum = 0;
StringBuilder result = new StringBuilder();
int i;

for (i = 0; i < a.length() && i < b.length(); i++) {
int m = a.charAt(a.length() - i - 1) - '0';
int n = b.charAt(b.length() - i - 1) - '0';

sum = (carry + m + n) % 2;
carry = (carry + m + n) / 2;

result.insert(0, sum + "");
}

for (; i < a.length(); i++) {
int m = a.charAt(a.length() - i - 1) - '0';

sum = (carry + m) % 2;
carry = (carry + m) / 2;

result.insert(0, sum + "");
}

for (; i < b.length(); i++) {
int m = b.charAt(b.length() - i - 1) - '0';

sum = (carry + m) % 2;
carry = (carry + m) / 2;

result.insert(0, sum + "");
}

if (carry == 1) {
result.insert(0, carry + "");
}

return result.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息