每日一练(39):二进制求和

简介: 给你两个二进制字符串,返回它们的和(用二进制表示)

给你两个二进制字符串,返回它们的和(用二进制表示)。


输入为 非空 字符串且只包含数字 1 和 0。


示例 1:


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

输出: "100"


示例 2:


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

输出: "10101"


提示:


每个字符串仅由字符 '0' 或 '1' 组成。


1 <= a.length, b.length <= 10^4


字符串如果不是 "0" ,就都不含前导零。


来源:力扣(LeetCode)


链接:https://leetcode-cn.com/probl...


方法一:模拟运算


思路分析


模拟直接计算,就是按照类似10进制计算方式,考虑进位


string addBinary(string a, string b) {
    //  先倒序
    reverse(a.begin(), a.end());
    reverse(b.begin(), b.end());
    int na = a.size();
    int nb = b.size();
    int n = max(na, nb);
    string res = "";
    int curr = 0;
    for (int i = 0; i < n; ++i)
    {
        curr += i < na ? a[i] == '1' : 0;
        curr += i < nb ? b[i] == '1' : 0;
        res.push_back(curr % 2 ? '1' : '0');
        curr /= 2;
    }
    if (curr)
    {
        res.push_back('1');
    }
    reverse(res.begin(), res.end());
    return res;
}


方法二:模拟运算优化(LeetCode英文网站大佬写法)


思路分析


模拟直接计算,就是按照类似10进制计算方式,考虑进位


string addBinary(string a, string b) {
    string s;
    s.reserve(a.size() + b.size());
    int c = 0, i = a.size() - 1, j = b.size() - 1;
    while(i >= 0 || j >= 0 || c == 1)
    {
        c += i >= 0 ? a[i--] - '0' : 0;
        c += j >= 0 ? b[j--] - '0' : 0;
        s.push_back((c & 1) + '0');
        c >>= 1;
    }
    reverse(s.begin(), s.end());
    return s;
}


目录
打赏
0
0
0
0
11
分享
相关文章
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
12030 0
「软件项目管理」一文详解软件项目质量计划
该文章全面介绍了软件项目质量计划的制定方法,涵盖了质量模型、质量管理过程、质量保证与控制技术,并提出了软件质量改善的具体建议,帮助项目管理人员有效地提升软件产品的质量水平。
「软件项目管理」一文详解软件项目质量计划
深度学习训练时混合精度的作用
在深度学习训练过程中,混合精度(Mixed Precision)是指同时使用不同的数值精度(如16位浮点数和32位浮点数)来进行计算。
222 2
AI在医疗影像识别中的应用与实践
本文综述了人工智能在医疗影像分析的应用,涵盖了基础理论、操作流程、关键算法及实践案例。通过探讨卷积神经网络等技术,展示了如何构建医疗影像分析系统并提高诊断精度和效率,为医疗行业的创新发展提供了有力支持。
【算法模板】DFS秒杀模板—附练习题(阳光号启航)(一)
【算法模板】DFS秒杀模板—附练习题(阳光号启航)(一)
1221 0
【算法模板】DFS秒杀模板—附练习题(阳光号启航)(一)
阿里云服务器、轻量应用服务器、GPU云服务器活动价格汇总(最新价格参考)
阿里云服务器产品包含云服务器、轻量应用服务器、GPU云服务器等,本文汇总了这些云服务器产品当下最新的实时活动报价表,包含通用算力型u1系列活动报价、第七代云服务器活动报价、轻量应用服务器最新活动报价、GPU云服务器最新活动报价,可供广大新老用户一目了然的了目前阿里云服务器的实时活动价格情况。
437 0
【web渗透思路】敏感信息泄露(网站+用户+服务器)
【web渗透思路】敏感信息泄露(网站+用户+服务器)
826 0
【web渗透思路】敏感信息泄露(网站+用户+服务器)
【STM32】高级定时器TIM1计数中断配置
【STM32】高级定时器TIM1计数中断配置
702 0
android studio 离线配置 gradle和依赖
android studio 离线配置 gradle和依赖
853 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等