leetcode中如何解决二进制求和问题
发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,小编给大家分享一下leetcode中如何解决二进制求和问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!题目链接https
千家信息网最后更新 2025年02月24日leetcode中如何解决二进制求和问题
小编给大家分享一下leetcode中如何解决二进制求和问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
题目链接
https://leetcode-cn.com/problems/add-binary/
题目描述
给定两个二进制字符串,返回他们的和(用二进制表示)。
输入为非空字符串且只包含数字 1 和 0。
示例 1:
输入: a = "11", b = "1"
输出: "100"
示例 2:
输入: a = "1010", b = "1011"
输出: "10101"
解题方案
思路
标签:字符串
整体思路是将两个字符串较短的用0补齐,使得两个字符串长度一致,然后从末尾进行遍历计算,得到最终结果
本题解中大致思路与上述一致,但由于字符串操作原因,不确定最后的结果是否会多出一位进位,所以会有2种处理方式
第一种,在进行计算时直接拼接字符串,会得到一个反向字符,需要最后再进行翻转
第二种,按照位置给结果字符赋值,最后如果有进位,则在前方进行字符串拼接添加进位
时间复杂度:O(n)
代码
Java版本
class Solution {
public String addBinary(String a, String b) {
StringBuilder ans = new StringBuilder();
int ca = 0;
for(int i = a.length() - 1, j = b.length() - 1;i >= 0 || j >= 0; i--, j--) {
int sum = ca;
sum += i >= 0 ? a.charAt(i) - '0' : 0;
sum += j >= 0 ? b.charAt(j) - '0' : 0;
ans.append(sum % 2);
ca = sum / 2;
}
ans.append(ca == 1 ? ca : "");
return ans.reverse().toString();
}
}
JavaScript版本
/**
* @param {string} a
* @param {string} b
* @return {string}
*/
var addBinary = function(a, b) {
let ans = "";
let ca = 0;
for(let i = a.length - 1, j = b.length - 1;i >= 0 || j >= 0; i--, j--) {
let sum = ca;
sum += i >= 0 ? parseInt(a[i]) : 0;
sum += j >= 0 ? parseInt(b[j]) : 0;
ans += sum % 2;
ca = Math.floor(sum / 2);
}
ans += ca == 1 ? ca : "";
return ans.split('').reverse().join('');
};
画解
以上是"leetcode中如何解决二进制求和问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
字符
字符串
二进制
两个
思路
篇文章
结果
输入
问题
一致
内容
版本
示例
题目
输出
复杂
不怎么
代码
位置
原因
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发可以拒绝加班吗
小学生网络安全防护
黑暗之魂三为什么登录不了服务器
gis软件开发实验报告代写
海致网络技术北京有限公司地址
大连德勤软件开发怎么样
ktv点歌服务器连接机顶盒视频
软件开发哪方面
网络安全代码分析方向
web项目如何连接数据库
浪潮服务器有多少台
网络安全监督岗位
个人软件开发平台
宁波慈溪市存储服务器
附加的数据库置疑
博山物流竞价软件开发
rsc是否是常见文摘数据库
暨大网络安全复试
网络安全运营技能
sql数据库显示无法创建
深圳卓睿网络技术有限公司
无线网络安全设计报告
为什么打电话显示未连接服务器
因特尔服务器bios
百度服务器地址怎样在设置中去除
弹幕使用什么数据库
sh是什么服务器
最好的软件开发公司排名
网络安全主题班会作文
洛阳火速网络技术有限公司怎么样