67. Add Binary
来源:互联网 发布:股市数据分析实战技法 编辑:程序博客网 时间:2024/06/05 03:48
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
很简单的思路,ab都从最后一位开始,初始化c=0为进位,三个数异或得到新的值存入res中,再判断一下c应该是1还是0. 当ab有一个走到尽头后把另一个剩下的部分加进去。
最后reverse整个字符串。
class Solution {public: string addBinary(string a, string b) { int m=a.size()-1; int n=b.size()-1; int c=0; string res=""; while(m>=0&&n>=0){ int p=a[m]-'0'; int q=b[n]-'0'; res+=(p^q)^c+'0'; c=p+q+c>1?1:0; m--; n--; } for(m;m>=0;m--){ int p=a[m]-'0'; res+=p^c+'0'; c=p&c; } for(n;n>=0;n--){ int p=b[n]-'0'; res+=p^c+'0'; c=p&c; } if(c) res+=c+'0'; reverse(res.begin(),res.end()); return res; }};
0 0
- [LeetCode]67.Add Binary
- LeetCode --- 67. Add Binary
- [Leetcode] 67. Add Binary
- [leetcode] 67.Add Binary
- 67. Add Binary
- 【leetcode】67. Add Binary
- 67. Add Binary
- [leetcode] 67.Add Binary
- [leetcode] 67. Add Binary
- 67. Add Binary
- 67. Add Binary
- 【Leetcode】67. Add Binary
- 67. Add Binary
- 67. Add Binary LeetCode
- 67. Add Binary
- 【LeetCode】67. Add Binary
- 67. Add Binary
- 67. Add Binary
- 关于javascript new 实例化和 prototype new 实例化的区别
- 看源代码那些事
- IDA功能简介(1)----导航条
- 阿里云 Ubuntu上的mysql运行sql文件来创建表
- PHP 判断数组是否为空的几种方法
- 67. Add Binary
- iOS开发- MJRefresh第三方详解(下拉刷新,下拉加载)
- ubuntu14.04+opencv3.1.0+torch7安装
- C#基础总结
- 实战MySQL
- axure学习笔记
- eclipse 无法创建tomcat7.0的server
- secureCRT上传下载文件到阿里云Ubuntu服务器上
- 改变span中的字体方法