67. Add Binary
来源:互联网 发布:邮箱域名大全 编辑:程序博客网 时间:2024/06/14 21:06
原题
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"b = "1"Return "100".
代码实现
public string AddBinary(string a, string b) { StringBuilder sb = new StringBuilder(); int carry = 0, acnt = a.Length, bcnt = b.Length; for (int i = acnt - 1, j = bcnt - 1; i >= 0 || j >= 0 || carry == 1; i--, j--){ int sum2 = 0; if (i < 0 && j < 0){ //overflow solving sb.Append(carry); carry = 0; continue; } //discuss three conditions according to i and j if (i < 0) sum2 = b[j] - '0'; else if (j < 0) sum2 = a[i] - '0'; else sum2 = a[i] - '0' + b[j] - '0'; if (sum2 + carry < 2){ sb.Append(sum2 + carry); carry = 0; } else { sb.Append(sum2 + carry - 2); carry = 1; } } //reverse the sb IEnumerable<char> rtnchars = sb.ToString().Reverse(); sb.Clear(); foreach (var ch in rtnchars) sb.Append(ch); return sb.ToString(); }
leetcode-solution库
leetcode算法题目解决方案每天更新在github库中,欢迎感兴趣的朋友加入进来,也欢迎star,或pull request。https://github.com/jackzhenguo/leetcode-csharp
阅读全文
2 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
- leetcode 373. Find K Pairs with Smallest Sums 优先队列
- html转义
- 算法学习之哈希表实现
- vi
- Java类中变量的初始化/赋值过程
- 67. Add Binary
- 关于phpcms V9的调用栏目图片的调用方法
- Linux/Android——input系统之 kernel层 与 frameworks层交互 (五)
- 【数据库】使用Collection.setAutoCommit(false)的注意事项
- android入门
- unittest 基础之 —— TestResult
- 工厂模式
- Unity优化大全(二)之CPU-Physics
- ajax跨域访问——JSONP