二进制求和

简介: 二进制求和

题目来自于leetcode

题目描述:

给定两个二进制字符串,返回他们的和(用二进制表示)。

输入为非空字符串且只包含数字1和0。

示例1:

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

示例2:

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

解题思路:

  1. 首先让两个字符串等长,若不等长,在短的字符串前补零
  2. 把字符串装换成数组
  3. 遍历所有的位数,同位相加
  4. 判断相加后的字符,若大于字符 1,下一位需要进位
/**
 * @param {string} a
 * @param {string} b
 * @return {string}
 */
var addBinary = function(a, b) {
    a=a.split('').reverse()
    b=b.split('').reverse()
    while(a.length > b.length){
        b.push('0');
    }
    while(a.length < b.length){
        a.push('0');
    }
    let stacks = [];
    for(let i = 0;i < a.length; i++){
        const s = Number(a[i]) + Number(b[i]) + (stacks[i] ? 1 : 0);
        stacks[i] = s%2;
        if(s>1){
            stacks.push(extra)
        }
    }
    stacks = stacks.reverse().join('');
    return stacks
};

相关文章
|
传感器 监控 搜索推荐
物联网技术在智能家居中的应用:技术革新与未来展望
【7月更文挑战第21天】物联网技术在智能家居中的应用已经取得了显著的成效,并展现出广阔的发展前景。通过实现设备集成、远程控制与监控、能源管理与节能减排等功能,物联网技术为智能家居系统带来了诸多优势和创新点。未来,随着技术的不断进步和市场的不断扩展,智能家居将更加智能化、自动化和人性化,成为我们生活中不可或缺的一部分。
1068 2
|
算法 Python
双序列比对
双序列比对
734 0
双序列比对
|
传感器
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
1079 0
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
|
存储 安全 算法
分布式互联网——Web3.0
前言 Web3.0,也被称为“分布式互联网”,是当前互联网的下一代版本。它是一种未来的互联网,它没有中心化的控制权,而是以分布式的方式运作。Web3.0 将会是一种全新的网络架构,它将会重新塑造互联网的未来。在这篇文章中,我们将会简要介绍 web3.0 以及它的技术原理。
|
存储 数据采集 边缘计算
深度揭秘:一汽红旗新能源工厂为何能“1分钟造1辆车”
年产能20万辆车——平均一分钟就能造一辆车,这就是去年投产的一汽红旗新能源工厂的效率。这个超乎想象的造车节奏,是如何产生的呢?全自动生产线的天花板又是如何被突破的呢?
1519 1
深度揭秘:一汽红旗新能源工厂为何能“1分钟造1辆车”
|
存储 算法 安全
【密码学】一文读懂PBE
本文主要来聊一下基于口令的加密(Pasword Based Encrytion), 我更倾向于把password翻译成为口令,这是为了和密码学当中密码区分开,这里的password不是指的某种密码体制,而是相当于容易记忆的一串字符(当然也包括那些用随机字符串所密码的)。
【密码学】一文读懂PBE
|
存储 缓存 前端开发
【干货】AB实验助力用户体验升级(含直播回放)
本文根据4月14日淘系技术前端团队出品的「阿里淘系用户体验优化前端实战系列直播」——《AB实验助力用户体验升级》整理而成。
【干货】AB实验助力用户体验升级(含直播回放)