我是靠谱客的博主 整齐雪糕,最近开发中收集的这篇文章主要介绍LeetCode.67 二进制求和(python解法)题目solution_1参考资料,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 题目
  • solution_1
  • 参考资料

题目

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

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

示例 1:

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

示例 2:

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

solution_1

思路:从最后一位开始按顺序求和,注意进位即可。

结果:执行用时:28 ms
排名:战胜69.48%

代码如下

class Solution(object):
    def addBinary(self, a, b):
        """
        :type a: str
        :type b: str
        :rtype: str
        """
        total_num = ''
        i, j = 0, 0
        carry = 0  # 进位
        while i<len(a) or j<len(b):
            x, y = 0, 0
            if i<len(a):
                x = int(a[len(a)-1-i])
            if j<len(b):
                y = int(b[len(b)-1-j])
            if x + y + carry >= 2:  # 有进位
                this_num = x + y + carry - 2
                carry = 1
            else:  # 无进位
                this_num = x+y+carry
                carry = 0
            total_num = str(this_num) + total_num
            i += 1
            j += 1
        if carry == 1:  # 最高位
            total_num = '1'+total_num
        return total_num

参考资料

二进制求和

最后

以上就是整齐雪糕为你收集整理的LeetCode.67 二进制求和(python解法)题目solution_1参考资料的全部内容,希望文章能够帮你解决LeetCode.67 二进制求和(python解法)题目solution_1参考资料所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部