二进制求和

简介: 二进制求和

题目来自于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
};

相关文章
|
算法 数据安全/隐私保护
客户端验证 证书解析
客户端验证 证书解析
311 7
|
算法 区块链
区块链项目的商业模式有哪些成功案例
**评估区块链项目潜力的关键因素包括:技术创新与应用场景(如共识算法、交易速度)、团队背景与发展战略(团队经验、市场定位)、社区活跃度与合作伙伴(用户参与、合作网络)、透明度与合规性(信息透明、法规遵循)、技术可行性(技术成熟度、安全性)及商业模式与市场可行性(市场规模、用户需求)。这些综合考量帮助判断项目的成功潜力和市场前景。**
|
机器学习/深度学习 Python
【视频】ARIMA时间序列模型原理和R语言ARIMAX预测实现案例
【视频】ARIMA时间序列模型原理和R语言ARIMAX预测实现案例
图片拼接 --全景图合成
图片拼接 --全景图合成
|
数据可视化
ggstatsplot绘图|统计+可视化,学术科研神器
ggstatsplot绘图|统计+可视化,学术科研神器
324 0
|
算法 Python
双序列比对
双序列比对
683 0
双序列比对
|
传感器
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
1006 0
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
|
传感器 JSON 编解码
功耗优化 · 方案篇 · Android功耗优化指导规范(2)
功耗优化 · 方案篇 · Android功耗优化指导规范
1281 0
|
存储 数据采集 边缘计算
深度揭秘:一汽红旗新能源工厂为何能“1分钟造1辆车”
年产能20万辆车——平均一分钟就能造一辆车,这就是去年投产的一汽红旗新能源工厂的效率。这个超乎想象的造车节奏,是如何产生的呢?全自动生产线的天花板又是如何被突破的呢?
1477 1
深度揭秘:一汽红旗新能源工厂为何能“1分钟造1辆车”