[LeetCode] 67. 二进制求和

题目描述:

给你两个二进制字符串 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" ,就不含前导零

题目链接:

. - 力扣(LeetCode)

解题主要思想:

模拟两个二进制数相加的过程即可。

解题代码:

cpp 复制代码
class Solution {
public:
    string addBinary(string a, string b) {
        int cur1 = a.size()-1, cur2 = b.size()-1;
        int t = 0;
        string ret;
        while (cur1 >= 0 || cur2 >= 0 || t) {
            if (cur1 >= 0) t += a[cur1--] - '0';
            if (cur2 >= 0) t += b[cur2--] - '0';
            ret += t % 2 + '0';
            t /= 2;
        }
        reverse(ret.begin(), ret.end());
        return ret;
    }
};
相关推荐
码匠许师傅33 分钟前
【C++三方组件】mbedTLS:面向嵌入式的轻量 TLS
开发语言·c++
?re?ta?rd?ed?1 小时前
C++11新特性,{}与左值
c++·windows
j7~1 小时前
【穷举、深搜与回溯算法】一棵决策树讲透全排列与子集
数据结构·c++·算法·leetcode·回溯·递归
傅科摆 _ py2 小时前
DP,贪心,堆和栈,二分力扣复习
开发语言·python·算法
kiracrimson3 小时前
栈与队列容器:适配器、deque 与 priority_queue
开发语言·c++·适配器模式
Shaoshing3 小时前
LeetCode100 42.接雨水
java·算法·leetcode
域限奇点访客3 小时前
用AI生成问卷的网站怎么选?看题目录入结构、题型映射和生成后的校验
算法
文丑颜不良啊4 小时前
LeetCode1261~1280题目解析
java·leetcode
qq_466302454 小时前
如何通过部分文件名,读取出整个文件名
c++·qt
not coder4 小时前
一文讲通--从树到红黑树
数据结构·算法