ieetcode 67题 求二进制和
题目:
给定两个二进制字符串,返回他们的和(用二进制表示)。
输入为非空字符串且只包含数字 1 和 0。
示例 1:
输入: a = "11", b = "1"
输出: "100"
示例 2:
输入: a = "1010", b = "1011"
输出: "10101"
//---------------------------------------------------//
char* addBinary(char* a, char* b) {
int i=0;
int j=0;
int tmp=0;
while(a[i]||b[j]){
if(a[i++]){}
if(a[j++]){}
}
char result[100];
int carry=0;
while(i>0&&j>0){
tmp+=(carry+(a[i-1]-'0')+(b[j-1]-'0'));
carry=tmp/2;
result[(i>j)?i:j]=tmp%2+'0';
i--;
j--;
}
while(i>0){
tmp=carry+(a[i-1]-'0');
carry=tmp/2;
result[i]=tmp%2+'0';
}
while(j>0){
tmp=carry+(b[j-1]-'0');
carry=tmp/2;
result[j]=tmp%2+'0';
}
if(carry){
result[0]='1';
return result;
}
return &result[1];
}
//-------------------------------------------//
提交运行后结果为null
算法中哪里出错了?