Add Binary Numbers
import java.util.*;
class Solution {
public String solve(String a, String b) {
if(a==null || a.length()==0)
return b;
if(b==null || b.length()==0)
return a;
int pa = a.length()-1;
int pb = b.length()-1;
int flag = 0;
StringBuilder sb = new StringBuilder();
while(pa >= 0 || pb >=0){
int va = 0;
int vb = 0;
if(pa >= 0){
va = a.charAt(pa)=='0'? 0 : 1;
pa--;
}
if(pb >= 0){
vb = b.charAt(pb)=='0'? 0: 1;
pb--;
}
int sum = va + vb + flag;
if(sum >= 2){
sb.append(String.valueOf(sum-2));
flag = 1;
}else{
flag = 0;
sb.append(String.valueOf(sum));
}
}
if(flag == 1){
sb.append("1");
}
String reversed = sb.reverse().toString();
return reversed;
}
}
Last updated