给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 1
和 0
。
思路是,从数组的最后一位开始遍历,二进制则逢二进一,所以当数组中元素为二时,进一。
然而写出来以后答案不对,只输出null,,,
char * addBinary(char * a, char * b){
int i,j;
int len1 = strlen(a);
int len2= strlen(b);
int len;
len=(len1>len2)?len1:len2;
char r[len+3];
while(len!=0){
r[len+1]=a[len1]+b[len2];
if(r[len+1]==2) { r[len]++; r[len+1]--;}
len--;
len1--;
len2--;
}
return r;
}
哈哈我顶不住啦一直改不对心态崩了,,不知道哪出问题了我慢慢想