#408 Add Binary
来源:互联网 发布:反网络爬虫 编辑:程序博客网 时间:2024/06/05 09:21
题目描述:
Given two binary strings, return their sum (also a binary string).
Example
题目思路:a = 11
b = 1
Return 100
我这里把binary加法和普通的加法准则一样处理,只不过换成了二进制,其实没什么区别。
Mycode(AC = 23ms):
class Solution {public: /** * @param a a number * @param b a number * @return the result */ string addBinary(string& a, string& b) { // Write your code here string ans = ""; int carry = 0, idx_a = a.length() - 1, idx_b = b.length() - 1; while (idx_a >= 0 && idx_b >= 0) { int digit_a = int(a[idx_a--]) - int('0'); int digit_b = int(b[idx_b--]) - int('0'); ans = to_string((digit_a + digit_b + carry) % 2) + ans; carry = (digit_a + digit_b + carry) / 2; } while (idx_a >= 0) { int digit_a = int(a[idx_a--]) - int('0'); ans = to_string((digit_a + carry) % 2) + ans; carry = (digit_a + carry) / 2; } while (idx_b >= 0) { int digit_b = int(b[idx_b--]) - int('0'); ans = to_string((digit_b + carry) % 2) + ans; carry = (digit_b + carry) / 2; } if (carry > 0) { ans = to_string(carry) + ans; } return ans; }};
0 0
- #408 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
- android 中Timer的写法
- 【Spark Java API】Transformation(12)—zipPartitions、zip
- [专题2016-08-12]论数据迁移测试
- Toast的封装
- LightOJ 1030 Discovering Gold 概率dp
- #408 Add Binary
- 移动AR演示上下车场景
- 引入第三方框架的几种方式
- 数据库表的设计
- [3.3.0]数据倾斜与shuffle类性能调优
- man命令的使用方法
- 第八章 多态总结 协变返回类型 向下转型 和运行时类型识别继承中 is-a 和 is-like-a及子类父类的方法调用(ClassCastException)
- 【Spark Java API】Transformation(13)—zipWithIndex、zipWithUniqueId
- malloc函数动态分配数组长度