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

二进制字符串的和

给你两个二进制字符串 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" ,就不含前导零
class Solution {
public:string addBinary(string a, string b) {string result;int carry = 0;// 存储进位int i = a.size() - 1;int j = b.size() - 1;while (i >= 0 || j >= 0 || carry) {//i、j 或 carry 中任意一个非零int sum = carry;if (i >= 0) {sum += a[i--] - '0'; //减去字符 '0' 来转换为整数}if (j >= 0) {sum += b[j--] - '0';}result += (sum % 2) + '0'; //将其转换回字符并添加到 result 中carry = sum / 2; //进位为 sum 除以 2}reverse(result.begin(), result.end());return result;}
};

 


http://www.mrgr.cn/news/39218.html

相关文章:

  • spring boot项目对接人大金仓
  • CSS 的color-adjust 属性,是给打印机节省墨水的属性
  • 计数排序(counting sort)
  • 文件传输工具 | 闪电藤 v2.5.5 绿色版
  • MFC工控项目实例之十八手动测试界面输入信号实时检测
  • 算法:852.山脉数组的峰顶索引
  • Windows Defender 强力删除工具 Defender Remover 下载
  • 网络游戏通信方案概述
  • Python NumPy 标准数据生成:高效创建与操作数组
  • 泛型中的通配符<?>、<? extends T>、<? super T>的使用场景。ArrayList与LinkedList的区别及适用场景。
  • 计算机知识科普问答--22(106-110)
  • 【Android 14源码分析】Activity启动流程-2
  • LeetCode 每日一题 买票需要的时间
  • 不同的子序列
  • elastic search 后端启动成功标志(二)
  • NLP任务之预测最后一个词
  • 程序员数学 | 用递归将复杂的问题简单化(上)
  • 企业如何提升知识产权管理效率?
  • rocketmq集群模式介绍
  • 【AI大模型】Function Calling