• leetcode 67. Add Binary


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

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

    我的思路是:

    1,先将两个string的长度设置为一样大小,小的进行左边补零。

    2,利用split("")将string拆分为数组。

    3,设置一个进位标识变量,从右往左一次相加。

    4,将存放结果的数组利用join()转换为字符串。

    代码:

     1 /**
     2  * @param {string} a
     3  * @param {string} b
     4  * @return {string}
     5  */
     6 var addBinary = function(a, b) {
     7     var sum=[];
     8     var maxLen=Math.max(a.length,b.length);
     9     var count=0;
    10     a=a.split("");
    11     b=b.split("");
    12     while(a.length<maxLen)
    13     {
    14         a.unshift(0);
    15     }
    16      while(b.length<maxLen)
    17     {
    18         b.unshift(0);
    19     }
    20     for(var i=maxLen-1;i>=0;i--)
    21     {
    22         sum[i]=Number(a[i])+Number(b[i])+count;
    23         if(sum[i]>=2)
    24         {
    25             sum[i]=sum[i]-2;
    26             count=1;
    27         }
    28         else
    29         {
    30             count=0;
    31         }
    32     }
    33     if(count==1)
    34     {
    35         sum.unshift(1);
    36     }
    37     sum=sum.join("");
    38     return sum;
    39 };
    View Code
  • 相关阅读:
    linux ipsec
    inotify+rsync
    多实例tomcat
    Http和Nginx反代至Tomcat(LNMT、LAMT)
    cisco ipsec
    ansible基础
    Qt 汉字乱码
    Model/View
    面对焦虑
    QT中QWidget、QDialog及QMainWindow的区别
  • 原文地址:https://www.cnblogs.com/baiyuhong/p/5398548.html
Copyright © 2020-2023  润新知