您的位置:首页 > 其它

LeetCode Add Binary(二进制加法)

2016-06-22 14:18 351 查看
思路:大整数加法

代码如下:

public class Solution
{
public String addBinary(String a, String b)
{
StringBuilder sb = new StringBuilder();
int i;
int c = 0;

StringBuilder a1 = new StringBuilder(a).reverse();
StringBuilder b1 = new StringBuilder(b).reverse();

for (i = 0; i < a1.length() && i < b1.length(); i++)
{
int num1 = a1.charAt(i) - '0';
int num2 = b1.charAt(i) - '0';
int sum = num1 + num2 + c;

c = sum / 2;
sum %= 2;

sb.append((char)('0' + sum));
}

String tmp;

if (i >= a1.length()) tmp = b1.toString();
else tmp = a1.toString();

for (; i < tmp.length(); i++)
{
int num1 = tmp.charAt(i) - '0';
int sum = num1 + c;

c = sum / 2;
sum %= 2;

sb.append((char)('0' + sum));
}

if (c != 0)
{
sb.append((char)('0' + c));
}

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