真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

leetcode中如何解決二進制求和問題

小編給大家分享一下leetcode中如何解決二進制求和問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

10年積累的網(wǎng)站設計制作、成都做網(wǎng)站經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有商城免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

 

題目鏈接

https://leetcode-cn.com/problems/add-binary/

 

題目描述

給定兩個二進制字符串,返回他們的和(用二進制表示)。

輸入為非空字符串且只包含數(shù)字 1 和 0。

示例 1:

輸入: a = "11", b = "1"
輸出: "100"
 

示例 2:

輸入: a = "1010", b = "1011"
輸出: "10101"
   

解題方案

 

思路

  • 標簽:字符串

  • 整體思路是將兩個字符串較短的用0補齊,使得兩個字符串長度一致,然后從末尾進行遍歷計算,得到最終結(jié)果

  • 本題解中大致思路與上述一致,但由于字符串操作原因,不確定最后的結(jié)果是否會多出一位進位,所以會有2種處理方式

    • 第一種,在進行計算時直接拼接字符串,會得到一個反向字符,需要最后再進行翻轉(zhuǎn)

    • 第二種,按照位置給結(jié)果字符賦值,最后如果有進位,則在前方進行字符串拼接添加進位

  • 時間復雜度:O(n)

 

代碼

  • Java版本

class Solution {
   public String addBinary(String a, String b) {
       StringBuilder ans = new StringBuilder();
       int ca = 0;
       for(int i = a.length() - 1, j = b.length() - 1;i >= 0 || j >= 0; i--, j--) {
           int sum = ca;
           sum += i >= 0 ? a.charAt(i) - '0' : 0;
           sum += j >= 0 ? b.charAt(j) - '0' : 0;
           ans.append(sum % 2);
           ca = sum / 2;
       }
       ans.append(ca == 1 ? ca : "");
       return ans.reverse().toString();
   }
}
 
  • JavaScript版本

/**
* @param {string} a
* @param {string} b
* @return {string}
*/
var addBinary = function(a, b) {
   let ans = "";
   let ca = 0;
   for(let i = a.length - 1, j = b.length - 1;i >= 0 || j >= 0; i--, j--) {
       let sum = ca;
       sum += i >= 0 ? parseInt(a[i]) : 0;
       sum += j >= 0 ? parseInt(b[j]) : 0;
       ans += sum % 2;
       ca = Math.floor(sum / 2);
   }
   ans += ca == 1 ? ca : "";
   return ans.split('').reverse().join('');
};
   

畫解

leetcode中如何解決二進制求和問題

leetcode中如何解決二進制求和問題

以上是“l(fā)eetcode中如何解決二進制求和問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享文章:leetcode中如何解決二進制求和問題
分享鏈接:http://weahome.cn/article/gggepi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部