当前位置:网站首页>leetcode刷题之二进制求和
leetcode刷题之二进制求和
2022-04-23 05:57:00 【zjLOVEcyj】
二进制求和
给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 1 和 0。
示例 1:
输入: a = “11”, b = “1”
输出: “100”
示例 2:
输入: a = “1010”, b = “1011”
输出: “10101”
提示:
每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。
1 <= a.length, b.length <= 10^4
字符串如果不是 “0” ,就都不含前导零。
var addBinary = function(a, b) {
let a_length = a.length
let b_length = b.length
let res = []
if (a_length > b_length) {
b = b.padStart(a_length, '0')
b_length = a_length
} else if (a_length < b_length) {
a = a.padStart(b_length, '0')
a_length = b_length
}
let temp = 0
for (let k = a_length - 1; k >= 0; k--) {
let temp_sum = temp + parseInt(a[k]) + parseInt(b[k])
let end_sum = 0
if (temp_sum === 0) {
end_sum = 0
temp = 0
} else if (temp_sum === 1) {
end_sum = 1
temp = 0
} else if (temp_sum === 2) {
end_sum = 0
temp = 1
} else if (temp_sum === 3) {
end_sum = 1
temp = 1
}
res.unshift(end_sum)
}
if (temp === 1) {
res.unshift(1)
}
return res.join('')
}
let a = "1", b = "111"
res = addBinary(a, b)
console.log(res);
版权声明
本文为[zjLOVEcyj]所创,转载请带上原文链接,感谢
https://blog.csdn.net/cyj5201314/article/details/124296601
边栏推荐
猜你喜欢
随机推荐
若依如何input改成文本
Node的数据库编程
Leak detection and vacancy filling (II)
New features of ES6
.Net Core 下使用 Quartz —— 【5】作业和触发器之触发器的通用属性和优先级
低代码开发平台整理
Mailbox string judgment
出入库与库存系统的模型问题
Redux概述
小程序学习笔记(一)
使用jsonwebtoken生成访问密钥
Mysql中的索引与视图
sql中的 IF 条件语句的用法
ASP.NET CORE 依赖注入服务生命周期
el-cascader和el-select点击别处让下拉框消失
.NET跨平台原理(上篇)
ASP.NET CORE 配置选项(上篇)
Promise(四)
useCenterHook
Aperçu de Redux