【前言】坚持日更LeetCode刷题系列
不积跬步,无以至千里;不积小流,无以成江海。愿与诸君共勉!
【题目】67.二进制求和
题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。
输入为非空字符串且只包含数字 1 和 0。
示例:
示例 1:
输入: a = "11", b = "1"
输出: "100"
示例 2:
输入: a = "1010", b = "1011"
输出: "10101"
思路一:
如果看过我上题的朋友,会感到此题非常的熟悉,那么具体思路如下,我们先将字符串转化为整数的形式,再对其进行加法处理,通过从后往前遍历
列表的方式,对于‘2’以及‘3’(有朋友可能会疑惑怎么会出现‘3’,别急,请接着看下去)我们将其分别置为‘0’和‘1’,并对其前一位数字进行加一操作
。
注意因为是对前一位数字进行加一操作,因此我们循环遍历到第二位数字,并对第一位数字单独进行判断操作。具体代码如下:
class Solution(object):
def addBinary(self, a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
'''
说明:对于其中类型转化问题,可以自行百度相关的知识。
'''
a = int(a)
b = int(b)
result = list(str(a+b))
for i in</