Add Binary

題目

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

For example,
a = "11"
b = "1"
Return "100".

答案

public String addBinary(String a, String b) {
        StringBuilder sb = new StringBuilder();
        int a_len = a.length(), b_len = b.length();

        int i = a_len - 1, j = b_len - 1;
        char ca, cb, carry = '0';
        while (i >= 0 || j >= 0) {
            ca = (i >= 0) ? a.charAt(i) : '0';
            cb = (j >= 0) ? b.charAt(j) : '0';
            if (ca == '0' && cb == '0') {
                sb.insert(0, carry);
                carry = '0';
            } else if ((ca == '0' && cb == '1') || (ca == '1' && cb == '0')) {
                sb.insert(0, (carry == '0') ? '1' : '0');
                carry = (carry == '1') ? '1' : '0';
            } else if (ca == '1' && cb == '1') {
                sb.insert(0, (carry == '0') ? '0' : '1');
                carry = '1';
            }
            i--;
            j--;
        }
        if(carry == '1') sb.insert(0, '1');
        return sb.toString();
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,906評(píng)論 0 33
  • 一、原題目?jī)?nèi)容 Given two binary strings, return their sum (also ...
    小犇手K線研究員閱讀 579評(píng)論 0 0
  • 題目 Given two binary strings, return their sum (also a bin...
    persistent100閱讀 198評(píng)論 0 0
  • 活了似乎很久的樣子,久到忘記熱血是什么滋味。似乎很久了,周?chē)娜诉€是叫我小孩,小朋友,小妹妹。其實(shí),明明就很大...
    素娘閱讀 363評(píng)論 0 1
  • ‘’和別人混在一起時(shí),我向往孤獨(dú)。孤獨(dú)時(shí),我又向往看到我的同類(lèi)。但解除孤獨(dú)畢竟只能靠相愛(ài)相知的人,其余的人擾亂了孤...
    阿魚(yú)魚(yú)魚(yú)閱讀 260評(píng)論 0 1

友情鏈接更多精彩內(nèi)容