1748 字
约 5 分钟
10
067.二进制求和
无标签

067.二进制求和

作者:沉默王二
发布时间:2022-12-20T11:32:29.306+0800


本题解同时收录在星球专栏《二哥的 LeetCode 刷题笔记》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记,数学表达公式也能显示出来),访问地址和密码:https://t.zsxq.com/6iuzn6I

067.二进制求和

**

**

题意

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。

难度

简单

示例

示例 1:

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

示例 2:

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

分析

我们先前做过 002.两数相加 ,其实和本题差不多,只不过是把链表换成了字符串,把十进制换成了二进制。

我们还是这样来做,从低位到高位依次将每个二进制数相加,并且记录相应的进位。十进制是逢十进一,二进制则是逢二进一,把先前代码中的10用2替换即可。

class Solution {

        StringBuilder res = new StringBuilder();        int upper = 0;        for(int i = a.length() - 1,j = b.length() - 1;i >= 0 || j >= 0;i--,j--){            int nowPos = upper;            nowPos += i >= 0 ? a.charAt(i) - '0' : 0;            nowPos += j >= 0 ? b.charAt(j) - '0' : 0;            upper = nowPos / 2;            nowPos %= 2;            res.append(nowPos);        }        if(upper != 0)            res.append(upper);        res.reverse();        return res.toString();    }}

别忘了,因为我们是从低位到高位来做的,所以必须要翻转一下,同时,要考虑最后一位是否会产生进位,如果产生进位,同样需要将这个纳入答案当中。

总结

简单题,同样需要认真地对待,在一些时候,我们只有一次的提交机会,所以不能因为题目简单,就轻视它,最终惩罚的还是我们自己。

力扣链接:https://leetcode.cn/problems/add-binary/

一步一个脚印

不积跬步无以至千里,不积小流无以成江海。LeetCode - 100天从算法小白到卷王正式启动了,我们计划周一到周五至少每天更新一篇,周六周日更新一篇,目标 300 道 LeetCode 经典题。

PDF 版本目前只针对**二哥编程星球 的球友开放,如果你也想一起打卡学习算法的话,戳链接 **加入我们吧。

一个人可以走得很快,但一群人才能走得更远。二哥编程星球 (目前已有 1200 多名球友加入)里面的每个球友都非常的友善,除了鼓励你,还会给你提出合理的建议,一起冲!

本题解同时收录在星球专栏《二哥的 LeetCode 刷题笔记》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记,数学表达公式也能显示出来),访问地址和密码:https://t.zsxq.com/6iuzn6I

067.二进制求和

**

**

题意

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。

难度

简单

示例

示例 1:

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

示例 2:

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

分析

我们先前做过 002.两数相加 ,其实和本题差不多,只不过是把链表换成了字符串,把十进制换成了二进制。

我们还是这样来做,从低位到高位依次将每个二进制数相加,并且记录相应的进位。十进制是逢十进一,二进制则是逢二进一,把先前代码中的10用2替换即可。

class Solution {

        StringBuilder res = new StringBuilder();        int upper = 0;        for(int i = a.length() - 1,j = b.length() - 1;i >= 0 || j >= 0;i--,j--){            int nowPos = upper;            nowPos += i >= 0 ? a.charAt(i) - '0' : 0;            nowPos += j >= 0 ? b.charAt(j) - '0' : 0;            upper = nowPos / 2;            nowPos %= 2;            res.append(nowPos);        }        if(upper != 0)            res.append(upper);        res.reverse();        return res.toString();    }}

别忘了,因为我们是从低位到高位来做的,所以必须要翻转一下,同时,要考虑最后一位是否会产生进位,如果产生进位,同样需要将这个纳入答案当中。

总结

简单题,同样需要认真地对待,在一些时候,我们只有一次的提交机会,所以不能因为题目简单,就轻视它,最终惩罚的还是我们自己。

力扣链接:https://leetcode.cn/problems/add-binary/

一步一个脚印

不积跬步无以至千里,不积小流无以成江海。LeetCode - 100天从算法小白到卷王正式启动了,我们计划周一到周五至少每天更新一篇,周六周日更新一篇,目标 300 道 LeetCode 经典题。

PDF 版本目前只针对**二哥编程星球 的球友开放,如果你也想一起打卡学习算法的话,戳链接 **加入我们吧。

一个人可以走得很快,但一群人才能走得更远。二哥编程星球 (目前已有 1200 多名球友加入)里面的每个球友都非常的友善,除了鼓励你,还会给你提出合理的建议,一起冲!

本题解同时收录在星球专栏《二哥的 LeetCode 刷题笔记》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记,数学表达公式也能显示出来),访问地址和密码:https://t.zsxq.com/6iuzn6I

067.二进制求和

**

**

题意

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。

难度

简单

示例

示例 1:

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

示例 2:

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

分析

我们先前做过 002.两数相加 ,其实和本题差不多,只不过是把链表换成了字符串,把十进制换成了二进制。

我们还是这样来做,从低位到高位依次将每个二进制数相加,并且记录相应的进位。十进制是逢十进一,二进制则是逢二进一,把先前代码中的10用2替换即可。

class Solution {

        StringBuilder res = new StringBuilder();        int upper = 0;        for(int i = a.length() - 1,j = b.length() - 1;i >= 0 || j >= 0;i--,j--){            int nowPos = upper;            nowPos += i >= 0 ? a.charAt(i) - '0' : 0;            nowPos += j >= 0 ? b.charAt(j) - '0' : 0;            upper = nowPos / 2;            nowPos %= 2;            res.append(nowPos);        }        if(upper != 0)            res.append(upper);        res.reverse();        return res.toString();    }}

别忘了,因为我们是从低位到高位来做的,所以必须要翻转一下,同时,要考虑最后一位是否会产生进位,如果产生进位,同样需要将这个纳入答案当中。

总结

简单题,同样需要认真地对待,在一些时候,我们只有一次的提交机会,所以不能因为题目简单,就轻视它,最终惩罚的还是我们自己。

力扣链接:https://leetcode.cn/problems/add-binary/

一步一个脚印

不积跬步无以至千里,不积小流无以成江海。LeetCode - 100天从算法小白到卷王正式启动了,我们计划周一到周五至少每天更新一篇,周六周日更新一篇,目标 300 道 LeetCode 经典题。

PDF 版本目前只针对**二哥编程星球 的球友开放,如果你也想一起打卡学习算法的话,戳链接 **加入我们吧。

一个人可以走得很快,但一群人才能走得更远。二哥编程星球 (目前已有 1200 多名球友加入)里面的每个球友都非常的友善,除了鼓励你,还会给你提出合理的建议,一起冲!

            知识星球
            
    
    
        
        扫码加入星球
        查看更多优质内容
    
    https://wx.zsxq.com/mweb/views/joingroup/join_group.html?group_id=15522885221412
067.二进制求和
https://clxhxhhr.top/posts/2521/
作者
clxstart
发布于
2026-09-19
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。