【LeetCode从零单排】No67.AddBinary
生活随笔
收集整理的這篇文章主要介紹了
【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) {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;}}代碼下載:https://github.com/jimenbian/GarvinLeetCode
/********************************
* 本文來自博客 ?“李博Garvin“
* 轉載請標明出處:http://blog.csdn.net/buptgshengod
******************************************/
總結
以上是生活随笔為你收集整理的【LeetCode从零单排】No67.AddBinary的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode从零单排】No58.L
- 下一篇: 【LeetCode从零单排】No70.C