給定兩個二進制字符串,返回他們的和(用二進制表示)。
輸入爲非空字符串且只包含數字 1
和 0
。
示例 1:
輸入: a = "11", b = "1"
輸出: "100"
示例 2:
輸入: a = "1010", b = "1011"
輸出: "10101"
思路:
直接將二進制字符串轉化成十進制,相加後,再將結果轉化成二進制
class Solution:
def addBinary(self, a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
return bin(int(a,2)+int(b,2))[2:]
知識點複習:
int(x, [base])
作用:
將一個數字或base類型的字符串轉換成整數。
int(x=0)
int(x, base=10),base缺省值爲10,也就是說不指定base的值時,函數將x按十進制處理。
注:
1. x 可以是數字或字符串,但是base被賦值後 x 只能是字符串
2. x 作爲字符串時必須是 base 類型,也就是說 x 變成數字時必須能用 base 進製表示
進制轉化:
int() => 將其他進制轉化成十進制
bin() => 將其他進制轉化成二進制
oct() => 將其他進制轉化成八進制
hex() => 將其他進制轉化成十六進制
注意:
bin(),oct(),hex()返回值均爲字符串而且會帶有0b,0o,0x前綴