Add Binary
来源:互联网 发布:马刺 知乎 2017 编辑:程序博客网 时间:2024/04/30 06:30
Leetcode 的一道题,很水,但要一次性在纸上写对还是不容易的,很考验人的细心和对string的熟悉程度。
算法很简单,将两个加数逆置,作二进制加法,得到的结果再逆置,将其返回即可。
以下是代码:
class Solution {public: string addBinary(string a, string b) { // Start typing your C/C++ solution below // DO NOT write int main() function int c = 0; int a1,b1,sum; int i; string ans = ""; reverse(a.begin(),a.end()); reverse(b.begin(),b.end()); for(i = 0; i < a.size() && i < b.size(); i ++){ a1 = a[i]-'0'; b1 = b[i]-'0'; sum = a1+b1+c; if(sum >= 2) c = 1; else c = 0; sum=sum%2; //ans.append(char(sum+'0')); ans += (sum+'0'); } while(i < a.size()){ a1 = a[i] - '0'; sum = a1 + c; if(sum >= 2) c = 1; else c = 0; sum=sum%2; ans += (sum+'0'); i ++; } while(i < b.size()){ b1 = b[i] - '0'; sum = b1 + c; if(sum >= 2) c = 1; else c = 0; sum=sum%2; ans += (sum+'0'); i ++; } if(c) ans+='1'; reverse(ans.begin(),ans.end()); return ans; }};
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- gcc & gdb & 汇编 & linux c
- xcode5适应不支持arc的类库
- 内核启动流程分析
- Android之遮罩功能的实现
- 在SpringMVC Action中使用事务需要特别小心的地方
- Add Binary
- 微信 相关
- 模板类的申明和定义为什么要放一起
- o(n)算法求大连续字段和,并返回最大子段和中的元素
- 查看linux系统名称
- 常用的幻灯片播放简单实现
- MT6577充电流程
- AM3359 GPIO 驱动设计
- SQL Server 2008 定时执行sql语句作业的制定