二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。
a = 11
b = 1
返回 100
java中substring的用法
str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;
str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;
public class Solution {
/*
* @param a: a number
* @param b: a number
* @return: the result
*/
public String addBinary(String a, String b) {
// write your code here
int alen=a.length()-1;
int blen=b.length()-1;
String result="";
int sum=0;
while(alen>=0||blen>=0){
if(alen>=0){
sum+=Integer.parseInt(a.substring(alen,alen+1));
alen--;
}
if(blen>=0){
sum+=Integer.parseInt(b.substring(blen,blen+1));
blen--;
}
if(sum==2){
result="0"+result;
sum=1;
}
else if(sum==1||sum==0){
result=sum+""+result;
sum=0;
}
else if(sum==3){
result="1"+result;
sum=1;
}
}
if(sum==1){
result="1"+result;
}
return result;
}
}