Add Binary @ LeetCode java
2014-10-28 11:02
381 查看
Add Binary
Given two binary strings, return their sum (also a binary string).
For example,
a =
b =
Return
刚开始刷题,方法都不叫笨,哈哈,就自己记录下。
public class Solution {
public String addBinary(String a, String b) {
String temp=new String();
if(a==null){return b;}
else if(b==null){return a;}else{
if(a.length()<b.length()){
temp=a;
a=b;
b=temp;
}
StringBuilder zheng=new StringBuilder();
char yu='0';
int minus=a.length()-b.length();
for(int i=b.length()-1;i>=0;i--){
if(yu==a.charAt(i+minus)&&yu==b.charAt(i)&&yu=='0'){
zheng.append("0");
yu='0';
}else if(yu==a.charAt(i+minus)&&yu==b.charAt(i)&&yu=='1'){
zheng.append("1");
yu='1';
}else if((yu=='1'&&a.charAt(i+minus)==b.charAt(i)&&a.charAt(i+minus)=='0')||
(a.charAt(i+minus)=='1'&&yu==b.charAt(i)&&yu=='0')||
(b.charAt(i)=='1'&&a.charAt(i+minus)==yu&&yu=='0')){
zheng.append("1");
yu='0';
}else{
zheng.append("0");
yu='1';
}
}
for(int i=a.length()-b.length()-1;i>=0;i--){
if(yu=='0'){
zheng.append(a.charAt(i));
yu='0';
}else{
if(a.charAt(i)=='0'){
zheng.append("1");
yu='0';
}else{
zheng.append("0");
yu='1';
}
}
}
if(yu=='1'){
zheng.append("1");
}
return zheng.reverse().toString();
}
}
}
Given two binary strings, return their sum (also a binary string).
For example,
a =
"11"
b =
"1"
Return
"100".
刚开始刷题,方法都不叫笨,哈哈,就自己记录下。
public class Solution {
public String addBinary(String a, String b) {
String temp=new String();
if(a==null){return b;}
else if(b==null){return a;}else{
if(a.length()<b.length()){
temp=a;
a=b;
b=temp;
}
StringBuilder zheng=new StringBuilder();
char yu='0';
int minus=a.length()-b.length();
for(int i=b.length()-1;i>=0;i--){
if(yu==a.charAt(i+minus)&&yu==b.charAt(i)&&yu=='0'){
zheng.append("0");
yu='0';
}else if(yu==a.charAt(i+minus)&&yu==b.charAt(i)&&yu=='1'){
zheng.append("1");
yu='1';
}else if((yu=='1'&&a.charAt(i+minus)==b.charAt(i)&&a.charAt(i+minus)=='0')||
(a.charAt(i+minus)=='1'&&yu==b.charAt(i)&&yu=='0')||
(b.charAt(i)=='1'&&a.charAt(i+minus)==yu&&yu=='0')){
zheng.append("1");
yu='0';
}else{
zheng.append("0");
yu='1';
}
}
for(int i=a.length()-b.length()-1;i>=0;i--){
if(yu=='0'){
zheng.append(a.charAt(i));
yu='0';
}else{
if(a.charAt(i)=='0'){
zheng.append("1");
yu='0';
}else{
zheng.append("0");
yu='1';
}
}
}
if(yu=='1'){
zheng.append("1");
}
return zheng.reverse().toString();
}
}
}
相关文章推荐
- java的优点再谈!
- JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署
- HTML、Swing还是XML,Java客户端工具选择?(三)
- sun 称 java 存在漏洞!
- 实 现JAVA 的 动 态 类 载 入 机 制
- 从C++到Java --理解面向对象是关键所在
- Borland Eyeing the Chasm Between Java and .NET
- Java.NET --一个基于Java的Microsoft.NET框架的实现
- 批判性地看待一种可行的表示技术:JavaServerPages servlet技术(下)
- 批判性地看待一种可行的表示技术:JavaServerPages servlet技术(上)
- PHP & Java(4)
- PHP & Java(3)
- PHP & Java(2)
- PHP & Java(1)
- Java 101之线程基础
- java动画中消除闪烁的两个绝招!
- [导入]Java线程的深入探讨
- java小程序中鼠标事件的响应处理(包含右键、双击等)
- 关于java 的 Classpath全解
- Java代码编写的一般性指导