67. Add Binary
来源:互联网 发布:正版凯立德导航软件 编辑:程序博客网 时间:2024/06/17 21:38
67. Add Binary
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
class Solution { public String addBinary(String a, String b) { int x=BinaryToDecimal(a); int y=BinaryToDecimal(b); return Integer.toBinaryString(x+y); } public int BinaryToDecimal(String s){ char[] chars=s.toCharArray(); int length=s.length(); int result = 0; for(int i=0;i<length;i++){ result+=(chars[i]-48)*Math.pow(2, length-i-1); } return result; }}
二进制过长,如111111111111000001101010,则超过运算限制。
improve:
public class AddBinary { public String addBinary(String a, String b) { char[] ca=a.toCharArray(); char[] cb=b.toCharArray(); int la=a.length()-1; int lb=b.length()-1; int add=0; StringBuilder sb=new StringBuilder(); while(la>=0||lb>=0||add==1){ //从最小为开始,进行每次运算 int ta= (la)<0? 0:ca[la--] -'0'; int tb= (lb)<0? 0:cb[lb--] -'0'; //取余为新位 sb.insert(0, (ta+tb+add)%2); add=(ta+tb+add)/2; } return sb.toString(); }}
阅读全文
0 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
- css导航鼠标放置特效
- Full-Resolution Residual Networks for Semantic Segmentation in Street Scenes(FRRN))
- String、StringBuffer与StringBuilder之间区别
- 数组名不能自加操作,指针可以自加操作
- volatile的个人简单见解
- 67. Add Binary
- TCP协议详解
- android 5.0 Camera 之 ZSL说明
- Servlet
- Nginx下惊群现象的处理
- keras
- String、StringBuffer与StringBuilder之间区别
- i.MX6 Yocto工程简介与分析
- B树