LeetCode-67-二进制求和-C语言
2020-07-02 08:37
阅读数 32
int get_len(char *s){ int i = 0; while(*s++ != '\0') i++; return i; } char*
reverse(char *s, int len){ int i=0, j=len-1; while(i
s[j];s[j] = tmp; i++;j--; } return s; } #define LEN 1000 char * addBinary(char
* a, char * b){ int len1 = get_len(a); int len2 = get_len(b); char *ret = (char
*)malloc(sizeof(char) * (LEN)); int i = 0; int j=0; int flag =0; int tmp; int
index=0; memset(ret, 0, LEN); reverse(a,len1); reverse(b, len2); while(i
|| j
printf("i=%d, j=%d, tmp=%d, flag=%d\n", i, j, tmp, flag); flag = 0; if(tmp>=2){
tmp -= 2; flag = 1; } ret[index++] = '0' + tmp; i++; j++; } return reverse(ret,
index); }