概述
给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。
输入为 非空 字符串且只包含数字 1 和 0。
示例 1:
输入: a = “11”, b = “10”
输出: “101”
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/JFETK5
class Solution(object):
def addBinary(self, a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
result = ''
len1 = len(a)
len2 = len(b)
lens = max(len1, len2)
num = abs(len1-len2)
if len1 > len2:
for i in range(num):
b = '0' + b
if len1 < len2:
for i in range(num):
a = '0' + a
add_num = 0
for j in range(lens-1, -1, -1):
total_num = int(a[j]) + int(b[j]) + add_num
add_num = total_num // 2
true_num = total_num % 2
result = str(true_num) + result
if add_num > 0:
result = str(add_num) + result
return result
class Solution(object):
def addBinary(self, a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
result = bin(int(a, 2) + int(b, 2))
return result[2:]
最后
以上就是自信钻石为你收集整理的剑指OfferII 002.二进制加法的全部内容,希望文章能够帮你解决剑指OfferII 002.二进制加法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复