题目要求:
求两个二进制数的和,返回值也是二进制形式的。
Problem Description:
Given two binary strings a
and b
, return their sum as a binary string.
思路一:
直接利用python自带函数 int() 将二进制数转化为十进制数进行相加,然后将和转化为二进制数返回,此处取 [2:]是因为要去掉开头的0b标识符。这样的处理速度真的很快。
class Solution(object):
def addBinary(self, a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
ten = int(a,2) + int(b,2)
return bin(ten)[2:]
结果如下:
思路二:
对两个字符串进行反转,然后遍历,从最低位开始,一位一位的进行二进制相加,并保存进位,最终可以得到两者的和的字符串。
(这个想法的代码没写,准备二轮的时候补吧)