LintCode Add Binary 二进制求和
2015-06-18 17:27
369 查看
给定两个二进制字符串,返回他们的和(用二进制表示)。
Given
two binary strings, return their sum (also a binary string).
样例
a =
b =
返回
Given
two binary strings, return their sum (also a binary string).
样例
a =
11
b =
1
返回
100
public class Solution { /** * @param a a number * @param b a number * @return the result */ public String addBinary(String a, String b) { if (a.length() < b.length()) { String temp = a; a = b; b = temp; } int alen = a.length(), blen = b.length(); StringBuilder sb = new StringBuilder(""); int carry = 0; int i = 0; for (; i < blen; i++) { int sum = carry + a.charAt(alen - 1 - i) + b.charAt(blen -1 - i) - 2 * '0'; char cur = (char)('0' + sum % 2); carry = sum / 2; sb.insert(0, cur); } for (; i < alen; i++) { int sum = carry + a.charAt(alen - 1 - i) - '0'; char cur = (char)('0' + sum % 2); carry = sum / 2; sb.insert(0, cur); } if (carry != 0) { sb.insert(0, (char)('0' + carry)); } return sb.toString(); } }
相关文章推荐
- 数据结构上机实验之二分查找
- visitor模式
- I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
- D-Soldier and Number Game(CF546D) Codeforces Round #304 (Div. 2)
- 数据结构上机实验之二分查找 分类: 查找 2015-06-18 17:27 9人阅读 评论(0) 收藏
- [翻译][MVC 5 + EF 6] 5:Code First数据库迁移与程序部署
- 团队项目第二次冲刺(4)
- [LintCode] Longest Increasing Continuous subsequence II
- Oracle 11g XE 是 Oracle 数据库的免费版本
- codeblock中 启动 ROS 节点
- 元组
- SQL*LOADER的使用总结
- Oracle 11g 上安装ASM(RHEL5)
- 【弱省胡策】Round #5 Handle 解题报告
- android 绘制椭圆 圆角矩形 详细解析
- [MFC]传统控件:控件简介以及CButton按钮类
- 【转】SQLite提示database disk image is malformed的解决方法
- 【弱省胡策】Round #5 Handle 解题报告
- 事件的传递(一篇老外的博客)
- obj-c编程19:关联对象