成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

leetcode_67 Add Binary

codeGoogle / 1241人閱讀

摘要:,,這道題就是求兩個表示為字符串形式的二進制數(shù)字的和。最初我的想法是直接對兩個字符串相對應(yīng)的位進行直接運算,再用一個變量來表示進位,這里我選擇將較短的字符串前面用補位,以獲得兩個相同長度的字符串進行逐位運算。

Given two binary strings, return their sum (also a binary string).
For example,a = "11",b = "1",Return "100".

這道題就是求兩個表示為字符串形式的二進制數(shù)字的和。

最初我的想法是直接對兩個字符串相對應(yīng)的位進行直接運算,再用一個變量來表示進位,這里我選擇將較短的字符串前面用0補位,以獲得兩個相同長度的字符串進行逐位運算。

但其實不需要補位

下面貼出來的代碼用了三元表達式進行判斷,如果相應(yīng)長度有數(shù)字就取出數(shù)字,如果沒有數(shù)字則賦值為0

隨后對ab字符串的相同位置,以及進位的值進行異或運算

public class Solution {
    public String addBinary(String a, String b) {
        if(a == null || a.isEmpty()) {
            return b;
        }
        if(b == null || b.isEmpty()) {
            return a;
        }
        char[] aArray = a.toCharArray();
        char[] bArray = b.toCharArray();
        StringBuilder stb = new StringBuilder();

        int i = aArray.length - 1;
        int j = bArray.length - 1;
        int aByte;
        int bByte;
        int carry = 0;
        int result;

        while(i > -1 || j > -1 || carry == 1) {
            aByte = (i > -1) ? Character.getNumericValue(aArray[i--]) : 0;
            bByte = (j > -1) ? Character.getNumericValue(bArray[j--]) : 0;
            result = aByte ^ bByte ^ carry;
            carry = ((aByte + bByte + carry) >= 2) ? 1 : 0;
            stb.append(result);
        }
        return stb.reverse().toString();
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67098.html

相關(guān)文章

  • Leetcode 67Add Binary(二進制求和)

    摘要:給定兩個二進制字符串,返回他們的和用二進制表示。返回的數(shù)值是以開頭,表明返回的數(shù)值是二進制函數(shù)用于將一個字符串或數(shù)字轉(zhuǎn)換為整型。指定為非十進制時,需以字符串形式傳入從第三個元素開始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...

    chenjiang3 評論0 收藏0
  • Leetcode 67Add Binary(二進制求和)

    摘要:給定兩個二進制字符串,返回他們的和用二進制表示。返回的數(shù)值是以開頭,表明返回的數(shù)值是二進制函數(shù)用于將一個字符串或數(shù)字轉(zhuǎn)換為整型。指定為非十進制時,需以字符串形式傳入從第三個元素開始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...

    sf190404 評論0 收藏0
  • leetcode67 binary add 二進制加法計算

    摘要:題目要求將兩個二進制字符串相加結(jié)果以二進制字符串的形式返回要格外注意可能會在最高位存在進位想要了解更多開發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號將會不定期的發(fā)放福利哦 題目要求:將兩個二進制字符串相加結(jié)果以二進制字符串的形式返回要格外注意可能會在最高位存在進位 /** * @author rale * * Given two binary strings, r...

    DevTTL 評論0 收藏0
  • leetcode部分題目答案之JavaScript版

    摘要:自己沒事刷的一些的題目,若有更好的解法,希望能夠一起探討項目地址 自己沒事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...

    alphahans 評論0 收藏0
  • LeetCode 545. Boundary of Binary Tree 二叉樹邊界

    摘要:二叉樹邊界題意高頻題,必須熟練掌握。逆時針打印二叉樹邊界。解題思路根據(jù)觀察,我們發(fā)現(xiàn)當為左邊界時,也是左邊界當為左邊界時,為空,則也可以左邊界。先加入左邊,加入,然后得到兩個子樹加入,最后加入右邊界。 LeetCode 545. Boundary of Binary Tree 二叉樹邊界Given a binary tree, return the values of its boun...

    Astrian 評論0 收藏0

發(fā)表評論

0條評論

codeGoogle

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<