67.Add Binary(String-Easy)
发布日期:2021-06-30 11:46:53 浏览次数:2 分类:技术文章

本文共 1241 字,大约阅读时间需要 4 分钟。

转载请注明作者和出处:

Given two binary strings, return their sum (also a binary string).

For example,

a = “11”

b = “1”

Return “100”

题目:两个代表二进制数字的字符串相加

思路:从低位开始相加,逢二进一:

- 字符串的高位是数字的低位。例如:string a = “100”,a[2]则为”0”; - 用一个变量记录相加的进位情况。 > Language:cpp
class Solution {public:    string addBinary(string a, string b) {        string s = "";        //i字符串a的索引值,j字符串b的索引值        int c = 0, i = a.size() - 1, j = b.size() - 1;        //字符串a和b没有遍历完,或者存在进位,继续计算        while(i >= 0 || j >= 0 || c == 1)        {            //三目运算符:低位相加            c += i >= 0 ? a[i--] - '0' : 0;            c += j >= 0 ? b[j--] - '0' : 0;            //结果            s = char(c % 2 + '0') + s;            //进位计算            c /= 2;        }        //返回结果        return s;    }};

Language:Python

class Solution(object):    def addBinary(self, a, b):        """        :type a: str        :type b: str        :rtype: str        """        if len(a)==0: return b        if len(b)==0: return a        if a[-1] == '1' and b[-1] == '1':            return self.addBinary(self.addBinary(a[0:-1],b[0:-1]),'1') +'0'        if a[-1] == '0' and b[-1] == '0':            return self.addBinary(a[0:-1],b[0:-1])+'0'        else:            return self.addBinary(a[0:-1],b[0:-1])+'1'

LeetCode题目汇总:

转载地址:https://jackcui.blog.csdn.net/article/details/72519117 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python3网络爬虫(十):这个帅哥、肌肉男横行的世界(爬取帅哥图)
下一篇:Python3网络爬虫(九):使用Selenium爬取百度文库word文章

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月05日 03时49分48秒