【LeetCode】67.二进制求和

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

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) {
        char[] ca = new StringBuffer(a).reverse().toString().toCharArray();
		char[] cb = new StringBuffer(b).reverse().toString().toCharArray();

		StringBuffer sb = new StringBuffer();
		int len = ca.length > cb.length ? ca.length : cb.length;

		boolean flag = false;
		for (int i = 0; i < len; i++) {

			if (i > ca.length - 1) {
				if (flag) {
					if (cb[i] == '1') {
						sb.append("0");
						flag = true;
					} else {
						sb.append("1");
						flag = false;
					}
				} else {
					sb.append(cb[i]);
				}
				continue;
			}
			if (i > cb.length - 1) {
				if (flag) {
					if (ca[i] == '1') {
						sb.append("0");
						flag = true;
					} else {
						sb.append("1");
						flag = false;
					}
				} else {
					sb.append(ca[i]);
				}
				continue;
			}
			if (ca[i] == '0' && cb[i] == '0') {
				if (flag) {
					sb.append("1");
					flag = false;
				} else {
					sb.append("0");
				}
			} else if (ca[i] == '1' && cb[i] == '1') {
				if (flag) {
					sb.append("1");
				} else {
					sb.append("0");
				}
				flag = true;
			} else {
				if (flag) {
					sb.append("0");
					flag = true;
				}else{
					sb.append("1");
				}
			}
		}
		if (flag){
			sb.append("1");
		}
		return sb.reverse().toString();
    }
}

评级:

0

 

Pipeline更多理解 Pipe 类型用途VIGVideo Image Generator:用于图层显示,支持 scaling、rotationRGB简单图层显示,较低优先级DMA主要用于 writeback / WFD / composition output,即从 framebuffer 输出到外部设备(或 memory)Cursor小图层,用于显示指针等很可能是:分别用于主屏、仪表、虚拟显示的输出路径或者用于不同的 display 去做 GPU_TARGET / writeback 的拷贝你看到的意思。 阅读详情

相关推荐

DVWA靶场实战:从搭建到渗透测试的完整指南

本文详细介绍了DVWA靶场的搭建与渗透测试全流程,涵盖LAMP环境搭建、Docker部署及集成环境安装三种方式。通过SQL注入、文件上传漏洞等实战案例,帮助读者掌握Web安全测试技巧,并提供防御方案与进阶调优建议,是网络安全学习的实用指南。

weixin_28312391的博客 488

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

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

weixin_53910667的博客 726

小米手机安装Burp证书失败原因与DER格式改造指南

CA证书是HTTPS抓包和移动安全测试的基础组件,其本质是遵循X.509标准的数字凭证,依赖ASN.1/DER编码格式与完整证书链实现可信验证。Android系统默认支持PEM和DER两种编码,但MIUI自14版本起强化安全策略,仅识别DER二进制格式,并强制校验Subject Alternative Name(SAN)、Basic Constraints及证书链完整性。这种企业级加固逻辑导致Burp Suite导出的PEM格式.cer文件在小米设备上‘安装成功但无效’。本文聚焦证书格式转换、SAN字段注入

weixin_33646989的博客 625

【力扣LeetCode】 67二进制求和

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

仟墨(郑龙浩)的博客 266

TikTok网页版X-bougs和_signature参数逆向实战:从断点到RPC调用的完整流程

本文详细解析了TikTok网页版X-bougs和_signature参数的逆向工程实战,从基础断点调试到高级RPC调用,完整还原加密参数的生成过程。通过工具链搭建、加密定位、核心突破及实战演练,帮助开发者深入理解TikTok的加密体系,并构建自动化签名系统。

weixin_28691003的博客 438

STM32嵌入式开发实战:如何用miniLZO压缩算法节省70%存储空间(附完整工程)

本文详细介绍了如何在STM32嵌入式开发中使用miniLZO无损压缩算法实现高达70%的存储空间节省。通过对比分析不同轻量级算法,重点讲解miniLZO的内存优化配置、分块压缩策略和完整工程实现,帮助开发者有效解决嵌入式系统中的存储瓶颈问题。

ss78901的博客 881

【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

微信小程序网关逆向分析:从协议、签名到会话管理的安全架构剖析

在现代Web与移动应用开发中,API网关作为客户端与后端服务之间的关键通信枢纽,承担着协议转换、流量调度、安全防护与性能优化等核心职责。其工作原理通常涉及统一的请求路由、身份认证、参数校验与响应聚合。从技术价值看,深入理解网关机制不仅能帮助开发者构建更健壮、可扩展的微服务架构,还能为安全评估、性能调优与故障排查提供基础。在移动生态如微信小程序中,网关设计尤为关键,它需要处理微信特有的登录态、数据加密与防重放攻击等安全需求。本文聚焦于微信小程序网关的逆向分析方法,通过结合网络抓包与代码反编译技术,深入解析其通

weixin_29323493的博客 442

LeetCode67-二进制求和

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

lyd1995的博客 275

告别天价授权!手把手教你用TwinCAT 3.1搭建EtherCAT主站(Windows 10/11保姆级教程)

本文详细介绍了如何在Windows 10/11系统上使用TwinCAT 3.1免费搭建EtherCAT主站,帮助中小企业和个人开发者低成本实现工业自动化。从环境准备、许可证策略到安装配置和实战开发,提供保姆级教程,涵盖PLC编程、运动控制及硬件选型建议,助您轻松入门工业控制领域。

weixin_30664615的博客 360

飞书接入OpenClaw:从零到一的保姆级图文教程

本文主要介绍了飞书接入OpenClaw:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 解决方案 2.1 步骤一:安装插件 2.2 步骤二:创建机器人应用 2.3 步骤三:测试 3. 注意事项

weixin_43178406的博客 13万+

LeetCode 67二进制求和

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

XBlog 245

Dify 第 19 篇 手把手教你开发 Dify 插件:从零实现一个时间工具

本文介绍了Dify平台的插件开发机制和流程。Dify支持多种插件类型,包括模型、工具、数据源等,可通过CLI工具快速开发插件。文章详细讲解了如何安装Dify CLI工具,并演示了从零开发一个获取系统时间插件的完整过程,包括项目初始化、文件解读和打包部署。通过该教程,开发者可以快速掌握Dify插件开发的核心要点,实现自定义功能扩展。

甘蓝的专栏 2447

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

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Leetcode67. 二进制求和

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

会流泪de鱼的博客 321

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

力扣(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的博客 834

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二进制求和【简单】

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

ligen1112的博客 262

LeetCode第67题_二进制求和

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

qq_40263592的博客 1361

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】66.加一
下一篇: 【LeetCode】69.x的平方根
jy0921_
博客等级 码龄11年 329粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值