N是进制,二进制N = 2, 十进制N = 10
import java.util.*;
public class Solution {
/**
*
* @param a string字符串
* @param b string字符串
* @return string字符串
*/
private static final int N = 2;
public String addBinary (String a, String b) {
if (a == null || a.length() == 0) {
return b;
}
if (b == null || b.length() == 0) {
return a;
}
StringBuilder sb = new StringBuilder();
int carry = 0;
int i1 = a.length() - 1;
int i2 = b.length() - 1;
while (i1 >= 0 || i2 >= 0) {
int n1 = i1 >= 0 ? a.charAt(i1--) - '0' : 0;
int n2 = i2 >= 0 ? b.charAt(i2--) - '0' : 0;
int sum = carry + n1 + n2;
carry = sum / N;
sum %= N;
sb.append(sum);
}
if (carry > 0) {
sb.append(carry);
}
return sb.reverse().toString();
}
}
京公网安备 11010502036488号