leetcode67. 二进制求和

【简单】力扣算法题解析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”

思路

1.保存中间变量,类似两数相加
2.前置相加 “1” + string

实现

class Solution {
public:
    string addBinary(string a, string b) {
        int a_len = a.size();
        int b_len = b.size();
        string result = "";
        int tmp = 0;
        int i = a_len - 1;
        int j = b_len - 1;
        while (i >=0 || j >= 0) {
            if (i >= 0) {
                tmp += a[i] - '0';
                i--;
            }
            if (j >= 0) {
                tmp += b[j] - '0';
                j--;
            }
            if (tmp == 0) {
                result = "0" + result;
                tmp = 0;
            } else if (tmp == 1) {
                result = "1" + result;
                tmp = 0;
            } else if (tmp == 2) {
                result = "0" + result;
                tmp = 1;
            } else if (tmp == 3) {
                result = "1" + result;
                tmp = 1;
            }
        }
        if (tmp == 1) {
            return "1" + result;
        } else {
            return result;
        }
    }
};
TL3562/3568内核驱动移植实战:解决无锡沐创N500L-AM4网口异常问题 本文详细介绍了在TL3562/3568平台上移植无锡沐创N500L-AM4网卡驱动的实战经验,重点解决了第四个网口通讯异常问题。通过升级驱动版本至rnpgbe-0.2.3,生成关键头文件并正确配置内核,最终实现四个网口稳定工作。文章还提供了性能优化建议和避坑指南,为类似硬件驱动移植项目提供参考。 阅读详情

相关推荐

dq轴坐标系下的电路方程

dq轴坐标系下的电路方程 dq轴坐标系是一种常见的电路方程,但是再dq轴坐标系下电路元件的电压电流dq轴存在一定的耦合,本文针对三相电路推导了dq轴坐标系下的电路电路方程进行一个推导,首先先列出来派克变换的公式 派克变换 [AdAqA0]=23[cos⁡(θ)cos⁡(θ−2π/3)cos⁡(θ+2π/3)−sin⁡(θ)−sin⁡(θ−2π/3)−sin⁡(θ+2π/3)1/21/21/2][AaAbAc]\left[\begin{array}{c}A_d\\A_q\\A_0 \end{array}\ri

Mr.Young的博客 1万+

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

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

weixin_53910667的博客 726

Nengo神经工程框架:脉冲神经网络的实时编译与硬件部署

脉冲神经网络(SNN)作为类脑计算的核心范式,正从生物模拟走向工程落地。其本质是用离散脉冲建模神经动力学,关键在于实现可预测、可复现的神经行为而非单纯拟合函数。Nengo基于神经工程学框架(NEF),将动态系统理论与硬件约束深度融合,通过解析式权重计算、确定性时间步长(dt)和多后端编译能力,支撑从CPU仿真到Loihi/FPGA的端到端部署。它不替代深度学习框架,而是提供面向神经形态芯片的‘神经编译器’能力,使LIF神经元参数、突触动力学与硬件时序严格对齐,显著提升实时性、能效比与物理可解释性。

weixin_32533659的博客 636

【力扣LeetCode】 67二进制求和

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

仟墨(郑龙浩)的博客 266

数字IC后端PPA优化实战:Innovus中Timing一致性策略与Module Region布局技巧

本文深入探讨了数字IC后端设计中PPA优化的核心挑战,重点解析了Innovus与PrimeTime之间Timing不一致的根本原因。通过实战案例,详细介绍了在Innovus中设置Timing Margin、Derate以及RC Scale Factor等关键策略,以校准时序视图。同时,文章分享了利用Module Region进行物理布局规划的技巧,将关键模块约束在最优区域,并结合Group Path等进阶方法,有效提升时序收敛效率与PPA结果的可预测性。

f9g0h的博客 2686

BUCK电路三种工作模式全解析:CCM、BCM、DCM到底怎么选?

本文深入解析BUCK电路的CCM、DCM和BCM三种工作模式,通过对比其电流波形、效率、纹波及环路特性,提供基于计算公式的量化判断方法。文章结合电池供电、高精度模拟等具体应用场景,给出明确的模式选型策略与实战设计指南,帮助工程师根据核心需求做出最优决策。

ee345的博客 484

【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

Aurix TC3XX Cache memory分析

Aurix Cache memory 分析

qwe0405080615的博客 4346

LeetCode67-二进制求和

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

lyd1995的博客 275

黑猫带你学eMMC协议第12篇:生产状态感知(PSA)

1 概述 1.1 什么是PSA Production State Awareness (PSA) 生产状态感知 e•MMC设备可以利用其是否在生产环境中的信息,从而在现场运作时进行不同的操作。 例如,在设备低温焊接(soldering)前,将数据写入emmc,可能导致数据出错,而正在焊接期间写入数据,出错的概率可能会更大。在低温焊接之前,emmc设备可以使用一种特定的内部操作去加载内容,这样就能减少数据出错的概率,而在低温焊接后进行常规的操作就行了。 1.2 psa如何进行工作? PSA存在于emmc5.0

黑猫奥利奥的博客 4258

华为OD机试新系统真题【迷宫相遇】

华为OD机试 新系统真题【迷宫相遇】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【迷宫相遇】多语言题解。

qq_45776114的博客 765

LeetCode 67二进制求和

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

XBlog 245

【GlobalMapper精品教程】006:Excel表格(.xls)或文本(.txt .csv)坐标文件生成矢量点

原始的坐标数据如下图所示,其中坐标为Lat经度,LNG纬度,均为十进制度的形式,一般软件都支持十进制度的格式,如果不支持,你可以尝试使用度分秒的形式,图中的DDMMSS-LAT为纬度,DDMMSS-LNG为经度。打开globalmapper软件,点击【打开数据文件】,选择坐标数据文件(案例中的数据位配套实验数据包中的data006.rar)气象台站分布点坐标.xls。选择坐标系:本案例数据采用的是经纬度,因此选择Geographic(Latitude/Longitude),基准选择WGS84,点击确定。

智慧空间实验室 2569

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

力扣[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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Leetcode67. 二进制求和

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

会流泪de鱼的博客 321

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

力扣(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
上一篇: leetcode49. 字母异位词分组
下一篇: leetcode 2 两数相加
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值