Add Binary

来源:互联网 发布:淘宝卖视频教程 犯法 编辑:程序博客网 时间:2024/06/06 12:20

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"

Return "100".

思路:和之前的Add Two Numbers那题很像,注意进位的处理就行,而且这个要倒着相加,那个不用倒着。

<pre name="code" class="java">public class Solution {    public String addBinary(String a, String b) {        if(a==null||b==null) return null;        if(a=="") return b;        if(b=="") return a;        int len1 = a.length()-1;        int len2 = b.length()-1;        int carry = 0;        String result = "";         while(len1>=0 || len2>=0){             if(len1>=0){                 int temp1 = (int)(a.charAt(len1)-'0');                carry = temp1+carry;                len1--;             }             if(len2>=0){                int temp2 = (int)(b.charAt(len2)-'0');                carry = temp2+carry;                len2--;             }             int sum = carry%2;             carry = carry/2;             result = sum+result;                    }        if(carry==1) {            result = "1"+result;        }        return result;    }}



0 0