Leetcode 67. 二进制求和

【简单】力扣算法题解析LeetCode67:二进制求和 题目要求将两个二进制字符串相加,返回二进制形式的和。解题思路是从字符串末尾逐位相加,处理进位,最终反转结果。Java实现使用StringBuilder高效拼接字符,通过位运算优化计算。代码示例输入"11"和"1"返回"100",时间复杂度O(max(m,n)),空间复杂度O(n)。 阅读详情

题目

给定两个二进制字符串,返回他们的和(用二进制表示)。

输入为非空字符串且只包含数字 1 和 0。

示例 1:

输入: a = “11”, b = “1”
输出: “100”

示例 2:

输入: a = “1010”, b = “1011”
输出: “10101”

解答

从最后一位开始运算,模拟一下进位就行了。

代码很容易看懂,不多说啦。

代码
class Solution {
    public String addBinary(String a, String b) {
        if(a == null || a.length() == 0) return b;
        if(b == null || b.length() == 0) return a;

        StringBuilder stb = new StringBuilder();
        int i = a.length() - 1;
        int j = b.length() - 1;
        
        int c = 0;  // 进位
        while(i >= 0 || j >= 0 || c != 0) {
            if(i >= 0) c += a.charAt(i --) - '0';
            if(j >= 0) c += b.charAt(j --) - '0';
            stb.append(c % 2);
            c >>= 1;
        }
        
        return stb.reverse().toString();
    }
}
结果

在这里插入图片描述

QT使用openssl实现RSA加解密 使用openssl生成公私钥,随后用QT对相应的信息进行RSA加解密 阅读详情

相关推荐

Agent 团队管理手册:如何设定目标、分配角色与解决冲突

本文从Agent团队的底层逻辑出发,完整讲解了Agent团队管理的三大核心模块:目标设定(分层拆解+对齐校验)、角色分配(能力匹配+最优算法)、冲突处理(分类处理+仲裁投票),并提供了可直接运行的完整代码示例。通过本文的方法,你可以快速搭建一个高效协作的Agent团队,大幅提升复杂任务的完成效率和准确率。Agent团队是未来AI应用的核心形态,现在正是落地的黄金期,建议你从一个小场景开始动手实践,逐步优化自己的Agent团队管理方法论。

AI天才研究院 232

力扣简单题系列:二进制求和(LeetCode 67)

这道题通过模拟二进制加法的过程,帮助我们理解如何处理字符串表示的二进制数以及进位问题。对于初学者来说,掌握字符串遍历和进位处理是解决类似问题的关键。

weixin_53910667的博客 726

合成孔径雷达Chirp Scaling(CS)算法MATLAB仿真实现

本人也是初学《合成孔径雷达成像算法与实现》,在GitHub上下载的关于CS算法的代码,仔细读了读,发现中间有一些不合理之处,动手改了一改,重新写了一个代码供初学者学习,有什么问题留言即可。 非常感谢源代码的作者,虽然中间有少许不正确的地方,但是对我理解cs算法的帮助非常大,非常感谢!!! 代码中提到的(4.31)这种均是在《合成孔径雷达成像算法与实现》中的公式 以下是MATLAB的仿真程序,直接复...

weixin_41700188的博客 7850

【力扣LeetCode】 67二进制求和

本文针对力扣第67题「二进制求和」,提出了一种基于​​高精度计算​​的清晰解法。该方法先将两个输入字符串​​逆序存储​​并​​统一长度​​至最高位,随后模拟竖式加法按位运算并处理二进制进位。最终,将结果数组逆序输出并转换为字符串。本文提供了详细的C++实现代码,重点讲解了​​逆序处理以对齐低位​​和​​进位控制​​等关键技巧,为处理二进制字符串加法提供了可靠方案

仟墨(郑龙浩)的博客 266

ISP-全局色调映射(GTM)算法简单实现

色调映射算法,色彩空间转换LAB

notgoodenouf的博客 2238

VSCode搭配Keil开发STM32:从环境配置到代码跳转全流程(避坑指南)

本文详细介绍了如何使用VSCode搭配Keil进行STM32开发,从环境配置到代码跳转的全流程指南。通过安装必备插件和正确配置项目文件,开发者可以在VSCode中享受现代编辑器的便捷功能,同时保留Keil的编译调试能力,提升嵌入式开发效率。

weixin_28832121的博客 253

【LeetCode力扣题库】67. 二进制求和(简单)

原题目链接:67. 二进制求和 题目描述: 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字1和0。 示例1: 输入: a = "11", b = "1" 输出: "100" 示例2: 输入: a = "1010", b = "1011" 输出: "10101" 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-binary 著作权归领扣网络所有。商业转载请联系官方授权,非商业...

一个平平无奇的攻城狮 2372

文献解读:结构方程模型SEM基础,小白看这个就基本够了

今天要解读的依然是一篇教学文献:The Basics of Structural Equation Modeling,文献作者是Diana Suhr, Ph.D. University of Northern Colorado。 文献链接: https://www.lexjansen.com/wuss/2006/tutorials/TUT-Suhr.pdf 结构方程模型是: 用来检验显变量与潜变量关系假设的综合性的统计技巧 用来表示,估计或者检验变量间理论关系的技巧 用来探究一系列潜变量和显变量因

Codewar的博客 6万+

LeetCode67-二进制求和

LeetCode67-二进制求和 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = "11", b = "1" 输出: "100" 示例 2: 输入: a = "1010", b = "1011" 输出: "10101" 一、思路 这里只需要考虑溢出的情况就行了 处理溢出的方法: 设置一个新的数组用于存放相加的结果,低...

lyd1995的博客 275

【2023校招刷题】第二期:数字IC笔试模拟题(2)详细解析版

【2023校招刷题】第二期:数字IC笔试模拟题(2)详细解析版

悟已往之不谏 知来者之可追 4469

电商行业分析爬虫:抓取行业数据,进行行业分析

电商行业数据分析对于市场研究、竞争分析和商业决策至关重要。通过爬取电商平台的数据,我们可以深入了解市场动态、消费者行为和商品销售情况。本文将介绍如何构建一个电商行业分析爬虫,抓取商品信息、销售数据和用户评价等,并进行数据分析。

u014481728的博客 1627

LeetCode 67二进制求和

LeetCode 67二进制求和Easy 题目简述:给两个二进制字符串,返回它们的二进制和。输入为 非空 字符串且只包含数字 1 和 0。 输入:a = “11”, b = “1” 输出:“100” 输入:a = “1010”, b = “1011” 输出:“10101” 思路:与十进制加法相同,两数相加,模拟竖式加法过程 从低位到高位(字符串从后往前)逐位相加,如果和大于2,则保留个位数字,同时向前进位1 要保证两个数的位数相同,若位数不同,短数最高位用0补足 如果最高位有进位,则

XBlog 245

NX二次开发-用户自定义资源栏选项卡RegisterActivationCallback

NX二次开发-用户自定义资源栏选项卡RegisterActivationCallback

阿飞2018 1385

LeetCode 67.二进制求和

LeetCode 67.二进制求和 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = “11”, b = “1” 输出: “100” 示例 2: 输入: a = “1010”, b = “1011” 输出: “10101” 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pro...

UN_uomo的博客 457

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

力扣[LeetCode].67. 二进制求和

给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 示例 1: 输入: a = "11", b = "1" 输出: "100" 示例 2: 输入: a = "1010", b = "1011" 输出: "10101" 提示: 每个字符串仅由字符 '0' 或 '1' 组成。 1 <= a.length, b.length <= 10^4 字符串如果不是 "0" ,就都不含前导零。 //二进制求和,满二进一 //首先让两个字

C/C++/Linux/MySQL 543

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Leetcode67. 二进制求和

Leetcode67. 二进制求和 题目: 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = “11”, b = “1” 输出: “100” 题解: 整体思路是将两个字符串较短的用 0补齐,使得两个字符串长度一致,然后从末尾进行遍历计算,得到最终结果。 本题解中大致思路与上述一致,但由于字符串操作原因,不确定最后的结果是否...

会流泪de鱼的博客 321

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

力扣(LeetCode) 67: 二进制求和 - 解法思路

给定两个二进制字符串a和b,返回它们的和作为二进制字符串。关键是从右到左处理数字,添加对应数字并传播进位。进位可以是 0 或 1,我们继续处理直到两个字符串都处理完毕且没有剩余进位。解法 1 手动实现,逻辑清晰;解法 2 利用 Python 优化的内置函数,性能最佳。两种解法都实现了 O(max(m, n)) 的时间复杂度和空间复杂度。

Yao H. Wang's Blog 459

力扣67. 二进制求和(逐位运算、位运算)

力扣67. 二进制求和 https://leetcode-cn.com/problems/add-binary/ 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字1和0。 示例1: 输入: a = "11", b = "1" 输出: "100" 示例2: 输入: a = "1010", b = "1011" 输出: "10101" 提示...

小麦China的博客 832

Leetcode 67 二进制求和 C语言

Leetcode 67 二进制求和 C语言 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 示例 1: 输入: a = “11”, b = “1” 输出: “100” 示例 2: 输入: a = “1010”, b = “1011” 输出: “10101” 提示: 每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。 1 <= a.length, b.length <= 10^4 字符串如果不是 “0” ,就都不含前导零。 思路:从后往前加,判断那

Android驱动开发 542

Python描述 LeetCode 67. 二进制求和

Python描述 LeetCode 67. 二进制求和   大家好,我叫亓官劼(qí guān jié ),在GitHub & 优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在GitHub & 优快云中写博客,唯一博客更新的地址为:亓官劼的博客 ,近期将逐渐同步刷题相关记录到GitHub:Algorithmic-learning-records,大多是本人的刷题记录,如果转载请附上原文地址,谢谢。 由于学习工作的需要,算法刷题将会逐渐由C++向Python3过

一起加油 726

LeetCode第67题_二进制求和

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

qq_40263592的博客 1361

LeetCode 67二进制求和【简单】

LeetCode 67二进制求和【简单】解题思路 几点细节注意 1 不要化成十进制求和再返回二进制,因为二进制String位数有可能非常多,没法进行计算,因此一位一位进行运算才行 2 String是无法用索引得到里面的字符的,要用charAt(index)方法 3 想要得到字符转int,用 (int)字符 - '0’即可, int可以不写, 字符遇到运算符自动变成int 思路 二进制运算,需要考虑...

ligen1112的博客 262

Leetcode 67. 二进制求和 C++

Leetcode 67. 二进制求和 题目 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 测试样例 1. 输入: a = "11", b = "1" 输出: "100" 2. 输入: a = "1010", b = "1011" 输出: "10101" 提示 每个字符串仅由字符 '0' 或 '1' 组成。 1 <= a.length, b.length <= 10^4 字符串如果不是 "0" ,就都不含前导零。 题解 加法模拟,注意进

weixin_43750513的博客 344

二进制求和 力扣67

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

qq_65031432的博客 515

LeetCode 力扣 67. 二进制求和

题目描述(简单难度) 两个二进制数相加,返回结果,要注意到字符串的最低位代表着数字的最高位。例如 “100” 最高位(十进制中的百位的位置)是 1,但是对应的字符串的下标是 0。 解法一 开始的时候以为会有什么特殊的方法,然后想着不管了,先按第二题两个十进制数相加的想法写吧。 public String addBinary(String a, String b) { StringBuil...

wind_liang的博客 305

Leetcode 67.二进制求和

Leetcode 67.二进制求和 二进制求和 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 示例 1: 输入: a = “11”, b = “1” 输出: “100” 示例 2: 输入: a = “1010”, b = “1011” 输出: “10101” class Solution { public String addBinary(String a, String b) { String longNum = "";/

EIUC_Thread的博客 349
上一篇: Leetcode 58. 最后一个单词的长度
下一篇: Leetcode 71. 简化路径
一纸浮萍
博客等级 码龄9年 11粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值