【剑斩OFFER】算法的暴力美学——二进制求和

一、题目描述

二、算法原理

思路:小学生加法运算

把逢十进一,改成逢二进一:

三、代码实现

cpp 复制代码
class Solution {
public:
    string addBinary(string a, string b) {
        int cura = a.size() - 1, curb = b.size() - 1;
        string ret;//最终的结果
        int t = 0;
        while(cura >= 0 || curb >= 0 || t != 0)
        {
            if(cura >= 0) t+= a[cura--] - '0';//转换成数字
            if(curb >= 0) t += b[curb--] - '0';
            ret += ((t % 2) + '0');//入余数,此时字符会慢慢的往后挪动,所以我们在最后的时候逆转字符串
            t /= 2;//保留进位
        }
        reverse(ret.begin(),ret.end());//逆转字符串
        return ret;
    }
};
相关推荐
wabs6661 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
hanlin031 小时前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
shehuiyuelaiyuehao1 小时前
算法50,分治归并,数组中的逆序对
java·算法
阳明山水2 小时前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
别动我齐刘海3 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
zhangfeng11333 小时前
《从“人工适配“到“智能生成“:KernelSwift 跨国产芯片算子迁移全栈方案解读》 —— 强调范式跃迁和跨硬件属性,适合偏架构分析的写法
人工智能·算法·华为·ai编程·npu
0+1113 小时前
算法 --滑动窗口
c++·算法·leetcode
reikocao4 小时前
大场景下 Hessian 特征值放大与退化检测
算法
hetao17338374 小时前
2026-09-18 hetao1733837 的刷题记录
c++·算法
wuyk5554 小时前
21.计数排序:不用比较的“空间换时间”排序算法
python·算法·排序算法