当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
Mailbox string judgment
初步认识Promse
ES6新增方法
js查找字符串中出现了三次的字符
1-2 JSX语法规则
ASP.NET CORE配置选项(下篇)
百度地图基础案例
【Markdown笔记】
若依如何input改成文本
如何使用input表单向服务发送(占用较小)图片文件(body传输)?涉及到FileReader内置对象
freeCodeCamp----budget & category 练习
C# webpai 路由详解
js面试题:fn.call.call.call.call(fn2) 解析
七牛上传图片(前台JS+后台C#API获取token)
thinkphp5 ---- object(think\response\Json)转数组
oninput 一个函数达到控制多个oninput的效果(将本输入框的内容作为参数)【很实用,很实用】
Leak detection and vacancy filling (IX) -- Procedure
el-cascader和el-select点击别处让下拉框消失
JS实现网页轮播图
查漏补缺(九)---程序篇