LeetCode 67: Add Binary
来源:互联网 发布:电商原生app源码 编辑:程序博客网 时间:2024/06/16 17:08
题目链接:
https://leetcode.com/problems/add-binary/description/
描述
Given two binary strings, return their sum (also a binary string).
For example,
a = “11”
b = “1”
Return “100”.
输入
输入两个字符串,a和b,求二进制和并以字符串形式返回。
输出
返回一个字符串。
样例输入
”11”“1”
样例输出
”100”算法思想:
使用的思想是大数相乘的思想,只不过这里使用的是大数相加的。
源代码
class Solution {public: string addBinary(string a, string b) { int carr = 0,len1 = a.length(),len2 = b.length(); int len = max(len1,len2); string str; reverse(a.begin(),a.end()); reverse(b.begin(),b.end()); for(int i = 0;carr || i < len;i++) { if(i < len1 && i < len2) { carr += (a[i] - '0') + (b[i] - '0'); } else if(i < len2) { carr += (b[i] - '0'); } else if(i < len1) carr += (a[i] - '0'); str += (carr % 2) + '0'; carr /= 2; } reverse(str.begin(),str.end()); cout<<str<<endl; return str; }};
最优源代码
最优算法也是使用大数相加的思想。
class Solution{public: string addBinary(string a, string b) { string s = ""; int c = 0, i = a.size() - 1, j = b.size() - 1; while(i >= 0 || j >= 0 || c == 1) { c += i >= 0 ? a[i --] - '0' : 0; c += j >= 0 ? b[j --] - '0' : 0; s = char(c % 2 + '0') + s; c /= 2; } return s; }};
阅读全文
0 0
- [leetcode 67] Add Binary
- [LeetCode 67]Add Binary
- leetcode-67 Add Binary
- leetcode || 67、Add Binary
- LeetCode 67 Add Binary
- Add Binary - LeetCode 67
- 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 67Add Binary
- Leetcode 67:Add Binary
- leetcode 67 Add Binary
- [leetcode 67] Add Binary
- [POJ3277]City Horizon(优先队列+扫描线)
- Java 基础(14)—— 枚举类
- gcc: error: CreateProcess: No such file or directory解决方案
- 扩展欧几里德算法详解【转载】
- 试谈数学教育与社会发展变革的关系
- LeetCode 67: Add Binary
- ssm集成配置
- 51nod 1002:数塔取数问题
- 如何给老婆解释什么是Restful
- Error creating bean with name 'org.mybatis.spring.mapper.ClassPathMapperScanner#0' defined in file
- 周博磊知乎热答:如何评价何恺明大神斩获ICCV 2017最佳论文
- 吴恩达后,其钦点的百度研究院院长林元庆也离职筹备AI创业
- 推荐|大数据?人工智能?机器学习?这里有一份干货清单
- Fragment篇——FragmentManager分析及用例