我是靠谱客的博主 鲤鱼雪碧,最近开发中收集的这篇文章主要介绍二进制求和,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  1. 链接
    https://leetcode.cn/problems/add-binary/
  2. 题目
    给你两个二进制字符串ab,以二进制字符串的形式返回它们的和。

示例
输入:a = “11”, b = “1”
输出:“100”

  1. 思路
    模拟二进制加法,尽可能简化代码。
  2. 代码
string ans;
    int len1=a.length()-1,len2=b.length()-1,carry=0;
    while(len1>=0||len2>=0){
    //如果len1大于等于0,那么字符串a还没空,所以当该位置的字符是'1'时,“a[len1--]=='1'”语句为真,返回数字1;否则,该位置为字符'0',返回数字0。
    //如果len1小于0,那么字符串a已经遍历完了,返回数字0;
        carry+=len1>=0?(a[len1--]=='1'):0;
        carry+=len2>=0?(b[len2--]=='1'):0;
        //注意返回字符串,所以要进行数字到字符串的转化
        ans.push_back((carry%2)==1?'1':'0');
        carry/=2;
    }
    if(carry)
    ans.push_back('1');
    //记得翻转ans字符串
    reverse(ans.begin(),ans.end());
    return ans;
    }
};

最后

以上就是鲤鱼雪碧为你收集整理的二进制求和的全部内容,希望文章能够帮你解决二进制求和所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部