题目链接:https://leetcode.com/problems/add-binary/
题目:
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
思路:
easy
算法:
-
public String addBinary(String a, String b) {
-
String result = "";
-
int length = Math.max(a.length(), b.length());
-
int numsa[] = new int[length];
-
int numsb[] = new int[length];
-
int r[] = new int[length];
-
for (int i = 0; i < a.length(); i++) {
-
numsa[i] = (a.charAt(a.length() - 1 - i) == ‘0‘ ? 0 : 1);
-
}
-
for (int i = 0; i < b.length(); i++) {
-
numsb[i] = (b.charAt(b.length() - 1 - i) == ‘0‘ ? 0 : 1);
-
}
-
int d = 0, val = 0;
-
for (int i = 0; i < length; i++) {
-
val = numsa[i] + numsb[i] + d;
-
d = val / 2;
-
val = val % 2;
-
r[i] = val;
-
}
-
for (int i = 0; i < length; i++) {
-
result += r[length - 1 - i] + "";
-
}
-
if (d == 1)
-
return "" + 1 + result;
-
else
-
return result;
-
}
【Leetcode】Add Binary
原文:http://blog.csdn.net/yeqiuzs/article/details/51598076