leetcode 67. Add Binary
来源:互联网 发布:linux snmp 编辑:程序博客网 时间:2024/06/08 11:21
原题:
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
代码如下:
char* addBinary(char* a, char* b) { if(a==NULL) return b; if(b==NULL) return a; if(strlen(a) < strlen(b)) { char *t; t = a; a = b; b = t; } int t=strlen(a)-strlen(b); int m=strlen(b); char *result; result=(char *)malloc(sizeof(char)*(strlen(a)+2)); *(result+strlen(a)+1)='\0'; int flag=0; int k; int sum; for(k=strlen(a); k>t; k--) { sum=flag+(int)(*(a+k-1)-'0')+(int)(*(b+k-t-1)-'0'); if(sum>0) { if(sum==1) { flag=0; *(result+k)='1'; } else if(sum==2) { flag=1; *(result+k)='0'; } else { flag=1; *(result+k)='1'; } } else { *(result+k)='0'; flag=0; } } for(; k>0 ; k--) { if((flag==1&&*(a+k-1)=='1')||((flag==0&&*(a+k-1)=='0'))) { *(result+k)='0'; continue; } *(result+k)='1'; flag=0; } if(flag==0) { result=result+1; } else { *result='1'; } return result;}
思路就是分两段,一个是重叠的,一个不重叠的。做三个数的加法就好。
效率感人/捂脸笑
感觉是服务器抽风了。。。
阅读全文
0 0
- [LeetCode]67.Add Binary
- LeetCode --- 67. Add Binary
- [Leetcode] 67. Add Binary
- [leetcode] 67.Add Binary
- 【leetcode】67. Add Binary
- [leetcode] 67.Add Binary
- [leetcode] 67. Add Binary
- 【Leetcode】67. Add Binary
- 67. Add Binary LeetCode
- 【LeetCode】67. Add Binary
- leetcode--67. Add Binary
- leetcode 67. Add Binary
- LeetCode 67. Add Binary
- LeetCode *** 67. Add Binary
- leetcode 67. Add Binary
- 【leetcode】67.Add Binary
- LeetCode 67. Add Binary
- LeetCode-67.Add Binary
- 学习笔记——Dialog回调
- 权限系统与RBAC模型概述[绝对经典]
- 【Java基础 五】---输入输出io流
- wso2 API 调研
- QQ聊天框中发送url网站链接预览内容修改方法
- leetcode 67. Add Binary
- [LeetCode] 96. Unique Binary Search Trees
- Git 简易本地库建立以及分享
- psr-4规范
- python Django搭建简单的个人博客网站(三)
- [ahk]双按Home键熄屏
- 关于banner获取网络图片设置自动轮播
- mysql中按指定顺序排列
- 【Android应用开发】-(19)Android 串口编程原理和实现方式(附源码)