当前位置: 首页 > news >正文

字符串(3)_二进制求和_高精度加法

个人主页:C++忠实粉丝
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C++忠实粉丝 原创

字符串(3)_二进制求和_高精度加法

收录于专栏【经典算法练习】
本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌
 

目录

1. 题目链接

2. 题目描述

3. 解法

算法思路:

代码展示:


1. 题目链接

OJ链接 : 二进制求和icon-default.png?t=O83Ahttps://blog.csdn.net/wer24_25/article/details/142949685?spm=1001.2014.3001.5502

2. 题目描述

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= a.length, b.length <= 104
  • a 和 b 仅由字符 '0' 或 '1' 组成
  • 字符串如果不是 "0" ,就不含前导零

3. 解法

算法思路:

模拟十进制的大数相加的过程:

模拟十进制中我们列竖式计算两个数之和的过程, 但是这里是二进制的求和, 我们不是逢十进一, 而是逢二进一. 

代码展示:

class Solution {
public:string addBinary(string a, string b) {string ret;int n1 = a.size() - 1, n2 = b.size() - 1, t = 0;while(n1 >= 0 || n2 >= 0 || t){if(n1 >= 0) t += a[n1--] - '0';if(n2 >= 0) t += b[n2--] - '0';ret += t % 2 + '0';t /= 2;}reverse(ret.begin(), ret.end());return ret;}
};

代码示例: 

http://www.lryc.cn/news/467966.html

相关文章:

  • 《神经网络:智能时代的核心技术》
  • pdf内容三张以上转图片,使用spire.pdf.free
  • 游戏、软件、开源项目和资讯
  • Acrel-1000变电站综合自动化系统及微机在化工企业中的应用方案
  • [Linux] CentOS7替换yum源为阿里云并安装gcc详细过程(附下载链接)
  • 在Java中创建多线程的三种方式
  • 洛谷 AT_abc374_c [ABC374C] Separated Lunch 题解
  • 力扣2528.最大化城市的最小电量
  • 【zookeeper】集群配置
  • YOLO11 目标检测 | 导出ONNX模型 | ONNX模型推理
  • PostgreSQL DBA月度检查列表
  • 驱动开发系列12 - Linux 编译内核模块的Makefile解释
  • 用js+css实现圆环型的进度条——js+css基础积累
  • TDengine 与北微传感达成合作,解决传统数据库性能瓶颈
  • 通过Python爬虫获取商品销量数据,轻松掌握市场动态
  • 学习虚幻C++开发日志——TSet
  • 面向对象进阶(下)(JAVA笔记第二十二期)
  • 通信协议——UART
  • 最优阵列处理技术(七)-谱加权
  • Java | Leetcode Java题解之第486题预测赢家
  • leetcode动态规划(十五)-完全背包
  • AI视听新体验!浙大阿里提出视频到音乐生成模型MuVi:可解决语义对齐和节奏同步问题
  • 对比两个el-table,差异数据突显标记
  • 调研funasr时间戳返回时间坐标效果可用性
  • Tomcat默认配置整理
  • 深入理解Rust中的指针:裸指针 智能指针
  • 物联网实训项目:绿色家居套件
  • 缓存雪崩是什么
  • 【格物刊】龙信刊物已上新
  • DNA存储介绍