天天看点

LeetCode刷题篇之第67道算法题的解题思路

LeetCode刷题篇之第1道算法题的解题思路

LeetCode刷题篇之第557道算法题的解题思路

先上题目:

LeetCode刷题篇之第67道算法题的解题思路

答案:

var addBinary = function(a, b) {
   return (BigInt("0b"+a)+BigInt("0b"+b)).toString(2);
};
           

解题思路:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>力扣第67道题的解题思路</title>
</head>
<body>
</body>
</html>
<script>
    window.onload=function () {
        function Sum(a,b){
let c=(parseInt(a,2)+parseInt(b,2)).toString(2);
//parseInt(a,2)将字符串String变成二进制的number类型
//toString(2)将相加后的结果number类型转换为String
console.log(c);//输出结果
//console.log("数据类型:"+typeof C+"输出:"+parseInt(b,2));
    }
    Sum("101","101");//实例
    }
</script>
           

- 注意:

LeetCode刷题篇之第67道算法题的解题思路

看到提示信息我们知道a,b的字符串长度范围为[1,104],最大数即24000已经超过了number类型的范围,这就导致数据溢出。因此在答案中不能用number数据类型,而要用BigInt数据类型(BigInt是es6最新提出来的数据类型,相关文档自行百度)。所以解题思路和答案不一样的原因就在这。(数据溢出在LeetCode执行代码时不报错,但在提交后报错。)

如果你正好在做这道题,看到我的文章有了思路,那就点赞留言关注一下撒!!!😀😀😀

继续阅读