题目链接:AddBinary
这道题就是二进制数相加,但是是以字符串的形式,需要注意的就是,在而字符串和二进制数的位存储是相反的,字符串的0位存储的是二进制数的最高位。
代码:
public class Solution {
public String addBinary(String a, String b) {
int lena = a.length();
int lenb = b.length();
StringBuffer re = new StringBuffer();
int i=lena;
int j=lenb;
int tmp = 0;
while(i>0||j>0){
if(i>0)
{
tmp += Integer.parseInt(a.substring(i-1, i));
i--;
}
if(j>0)
{
tmp += Integer.parseInt(b.substring(j-1, j));
j--;
}
re.append(Integer.toString(tmp%2));
tmp = tmp/2;
}
if(tmp==1)
re.append(Integer.toString(tmp));
return re.reverse().toString();
}
}