博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode----67. Add Binary(java)
阅读量:6199 次
发布时间:2019-06-21

本文共 1384 字,大约阅读时间需要 4 分钟。

package addBinary67;

/*
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
*/
public class Solution {
public static String addBinary(String a, String b) {
//ensure a.length()<=b.length()
if (a.length()>b.length())
return addBinary(b,a);
char[] chara=a.toCharArray();
char[] charb=b.toCharArray();
int lena=chara.length;
int lenb=charb.length;
StringBuilder sb=new StringBuilder();
int carry=0;
//add the same length numbers
for (int i=0;i<lena;i++){
int inta=chara[lena-1-i]-'0';
int intb=charb[lenb-1-i]-'0';
sb.append(inta^intb^carry);
carry=(inta&intb)|((inta^intb)&carry);
}
//add the longer length numbers
for (int i=lenb-lena-1;i>=0;i--){
int intb=charb[i]-'0';
sb.append(intb^carry);
carry=intb&carry;
}
//judge the first bit
if(carry>0)
sb.append(carry);
return sb.reverse().toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String a="10100000100100110110010000010101111011011001101110111111111101000000101111001110001111100001101";
String b="110101001011101110001111100110001010100001101011101010000011011011001011101111001100000011011110011";
//String a="101";
//String b="10111";
System.out.println(addBinary(a,b));
//110111101100010011000101110110100000011101000101011001000011011000001100011110011010010011000000000

}

}

转载于:https://www.cnblogs.com/luluqiao/p/5869833.html

你可能感兴趣的文章
MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法
查看>>
Django中模板架构
查看>>
嵌入式知识总汇
查看>>
CentOS系统清空删除系统日志的方法
查看>>
MVC3+EF4.1学习系列(一)-------创建EF4.1 code first的第一个实例
查看>>
台式机通过网线连接笔记本上网
查看>>
Android 逆向分析(一) 之 Smali语法
查看>>
麻省:第13课
查看>>
StackStorm安装与配置
查看>>
HDU1276
查看>>
链接中使用js
查看>>
文档CURD操作
查看>>
Ehcache的简单学习1-Ehcache和Spring的结合使用
查看>>
基于vsphere exsi部署CloudFoundry问题集合
查看>>
警告:Pointer is missing a nullability type specifier (__nonnull or __nullable)
查看>>
Koa2 之文件上传下载的示例代码
查看>>
纯css实现带拐角方向流动箭头
查看>>
Linux系统监控工具之top详解
查看>>
Asp.Net分页控件
查看>>
大家来分享自己收藏的前端开发网站
查看>>