LeetCode(56)-Add Binary
2016-04-14 12:28
330 查看
题目:
Given two binary strings, return their sum (also a binary string). For example, a = "11" b = "1" Return "100".
思路:
题意:对字符串的二进制数字,计算把二进制转化为整数,设置变量carry位进位,sum%2,是相应的数字,carry = sum/2
-
代码:
public class Solution { public String addBinary(String a, String b) { if(a.length() < b.length()){ String tmp = a; a = b; b = tmp; } int lengthA = a.length()-1; int lengthB = b.length()-1; int carry = 0; String all = ""; while(lengthB >= 0){ int num = (int)(a.charAt(lengthA)-'0')+(int)(b.charAt(lengthB)-'0')+carry; int k = num%2; carry = num/2; all = String.valueOf(k)+all; lengthA--; lengthB--; } while(lengthA >= 0){ int num = (int)(a.charAt(lengthA)-'0')+carry; int k = num%2; carry = num/2; all = String.valueOf(k)+all; lengthA--; } if(carry == 1){ all = "1"+all; } return all; } }
相关文章推荐
- LeetCode(56)-Add Binary
- 部分和问题升级版
- lunix常用命令和技巧(Red Hat Enterprise Linux Server release 6.2)
- SpringMVC 400 Bad Request 问题解决
- MVC过滤器处理Session过期
- MDK 5.10 -- Reading one or more Pack descriptions failed
- 自定义控件-CascadeLayout
- 多级父子级查询
- gen_server + ets的几个小技巧
- HDU 5642 King's Order(数位dp)
- [C++]单例模式
- HDOJ 4642(博弈) 题意
- 20135239 益西拉姆 linux内核分析 读书笔记之第四章
- C++构造函数以及析构函数的若干面试问题
- Fragment生命周期
- CentOS 7下安装配置FTP
- Github环境搭建和使用方法
- 【经典算法】:猴子排序
- UVA11292
- Leetcode--Two Sum