LeetCode 67 --- 二进制求和
给你两个二进制字符串 a
和 b
,以二进制字符串的形式返回它们的和。
示例 1:
输入:a = "11", b = "1" 输出:"100"
示例 2:
输入:a = "1010", b = "1011" 输出:"10101"
题解:
void reverse(char *a,int n) { int i= 0; int j = n-1; char tmp; while(i<j) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; i++; j--; } } char* addBinary(char* a, char* b) { int m = strlen(a); int n = strlen(b); reverse(a,m); reverse(b,n); int maxn = (m > n ? m : n); char * ans = (char*) malloc(sizeof(char)*(maxn + 2)); int c = 0; int i = 0; int j = 0; int k = 0; while(i<m && j<n) { int d = (a[i]-'0') +(b[j]-'0') + c; ans[k] = d%2 + '0'; c = d/2; i++; j++; k++; } while(i<m) { int d = (a[i] - '0') +c; ans[k] = d%2 + '0'; c =d/2; i++; k++; } while(j<n) { int d = (b[j]-'0')+c; ans[k] = d%2 +'0'; c = d/2; j++; k++; } if(c==1) { ans[k] = '1'; k++; } ans[k] = '\0'; reverse(ans,k); return ans; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY