LeetCode 67. Add Binary
来源:互联网 发布:在万网买的域名怎么用 编辑:程序博客网 时间:2024/06/15 23:19
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
让a和b的每个对应的数依次相加,用一个变量记录进位,相加时考虑进位,并不断修改进位即可。
class Solution {public: string addBinary(string a, string b) {int lena = a.size(); int lenb = b.size(); int ia, ib, ic = 0; string c; int sum; int i = lena - 1, j = lenb - 1; while(i >= 0 && j >= 0){ ia = a[i --] - '0'; ib = b[j --] - '0'; sum = ia + ib + ic; if(sum == 0) c += '0'; else if(sum == 1) { c += '1'; ic = 0; } else if(sum == 2){ c += '0'; ic = 1; }else if(sum == 3){ c += '1'; ic = 1; } } while(i >= 0){ ia = a[i --] - '0'; sum = ia + ic; if(sum == 0) c += '0'; else if(sum == 1){ c += '1'; ic = 0; }else if(sum == 2){ c += '0'; ic = 1; } } while(j >= 0){ ib = b[j --] - '0'; sum = ib + ic; if(sum == 0) c += '0'; else if(sum == 1){ c += '1'; ic = 0; }else if(sum == 2){ c += '0'; ic = 1; } } if(ic == 1) c += '1'; reverse(c.begin(), c.end()); return c; }};
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
- 集合
- 编程练习,寻找字符串中的子串
- Codeforces Round #375 (Div. 2)
- hdoj-5003-Osu!
- php
- LeetCode 67. Add Binary
- Java反射机制 详解
- 总结3
- Linux 下关于文本文件操作使用的案例
- 如何获取Spinner里item的值
- codeforces-723【B细节】
- 1087. All Roads Lead to Rome (30)
- Linux - C数据库编程(预习内容六)
- C++ STL容器解读