【LeetCode从零单排】No67.AddBinary

简介: 题目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) {

题目

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 lon= a.length()-b.length()>=0 ? a:b;
     String sho= a.length()-b.length()<0 ? a:b;
     char[] lon_char=lon.toCharArray();
     char[] sho_char=sho.toCharArray();
     char temp='0';
     int final_length=lon.length()-1;
     int index=0;
     String[] str=new String[lon.length()+1];
     String addBinary_str="";
     for(int i=0;i<sho.length();i++){
          String temp_s=String.valueOf(temp);
          String sho_char_s=String.valueOf(sho_char[sho.length()-1-i]);
          String lon_char_s=String.valueOf(lon_char[lon.length()-1-i]);
          switch(Integer.parseInt(temp_s)+Integer.parseInt(sho_char_s)+Integer.parseInt(lon_char_s))
          { case 0:
              temp='0';
              str[index++]="0";
              break;
            case 1:
              temp='0';
              str[index++]="1";
              break;
            case 2:
                temp='1';
                str[index++]="0";
                break;
            case 3:
                temp='1';
                str[index++]="1";
                break;
          }
     }
     while(index<lon.length()){
          String temp_s=String.valueOf(temp);
          String lon_char_s=String.valueOf(lon_char[lon.length()-index-1]);
          
          switch(Integer.parseInt(temp_s)+Integer.parseInt(lon_char_s))
          { case 0:
              temp='0';
              str[index++]="0";
              break;
            case 1:
              temp='0';
              str[index++]="1";
              break;
            case 2:
                temp='1';
                str[index++]="0";
                break;
          }
          
     }
     
     if(temp=='1'){
         str[lon.length()]="1";
         final_length=lon.length();
     }
     for(int k=final_length;k>=0;k--){
         addBinary_str+=str[k];
     }
        return addBinary_str;
    }
    
}


/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/



目录
相关文章
|
Web App开发 Windows
【Windows】 chrome 如何下载网站在线预览PDF文件,保存到本地
【Windows】 chrome 如何下载网站在线预览PDF文件,保存到本地
1577 0
|
Java Maven Android开发
在Eclipse里配置Maven插件
Maven是一款比较常用的Java开发拓展包,它相当于一个全自动jar包管理器,会导入用户开发时需要使用的相应jar包。使用Maven开发Java程序,可以极大提升开发者的开发效率。下面我就跟大家介绍一下如何在Eclipse里安装和配置Maven插件。
496 0
|
人工智能 架构师 算法
阿里P6到P9的技术栈有哪些?程序员该如何准备学习?如何进入大厂
相信每一个程序员应该都有一个大厂梦,但是不知道如何进入大厂,或者说是技术栈和项目经验达不到大厂的要求! 那就有人问了,那怎么样才能进入大厂呢?进入大厂的话都有哪些要求呢? 小编,就给大家简单介绍一下,要想进入大厂需要达到的要求! 总结起来一共有四点:1.学历;2.技术栈+项目经验;3.心理素质+思维转变;4.面试技巧;
|
Android开发 开发者
Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题
【6月更文挑战第25天】Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题,首先在`styles.xml`中定义新主题,如`MyAppTheme`,然后在`AndroidManifest.xml`中设置`android:theme`。可应用于全局或特定Activity。运行时切换主题需重置Activity,如通过`setTheme()`和`recreate()`方法。这允许开发者定制界面以匹配品牌或用户偏好。
313 2
|
SQL 缓存 Java
MyBatis有哪些优缺点?
MyBatis有哪些优缺点?
282 1
|
小程序 JavaScript 索引
【微信小程序】-- WXML 模板语法 - 列表渲染 -- wx:for & wx:key(十二)
【微信小程序】-- WXML 模板语法 - 列表渲染 -- wx:for & wx:key(十二)
|
安全 Linux Windows
中断处理与特权级转移
中断处理与特权级转移
256 0
|
存储 程序员 编译器
静态链接详解
静态链接详解
|
人工智能 监控 安全
【智慧工地源码】基于AI视觉技术赋能智慧工地
【智慧工地源码】基于AI视觉技术赋能智慧工地
221 0
|
网络协议 数据库 网络架构
【每日一记】OSPF中的DR详讲
【每日一记】OSPF中的DR详讲
922 0