目录
网站原题
力扣:67. 二进制求和
给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。
示例 1:
输入:a = "11", b = "1"
输出:"100"
示例 2:
输入:a = "1010", b = "1011"
输出:"10101"
提示:
1 <= a.length, b.length <= 104
a 和 b 仅由字符 '0' 或 '1' 组成
字符串如果不是 "0" ,就不含前导零
分析解答
注:从这篇开始,解答代码将与网站原题接口匹配,包括定义类方法
方法一:
使用强制类型转换,先把二进制转换为十进制相加,再把结果转换为二进制的字符串形式
class Solution: def addBinary(self, a: str, b: str) -> str: result = int(a,2)+int(b,2) return str(bin(result))[2:]
语法点复习:强制类型转换函数
在Python中,有多个内置的类型转换函数,用于在不同的数据类型之间进行转换。以下是包括
bin()
在内的11个常见类型转换函数,它们涵盖了各种数据类型的转换:
bin(x)
:
- 参数类型:整数。
- 转化方式:将整数转换为二进制字符串表示形式。
- 输出类型:字符串,以 "0b" 开头的二进制字符串。在上述代码中之所以对字符串从第3个字符开始切片就是为了去除"0b",只保留数字部分的结果。
int(x, base=10)
:
- 参数类型:可以是字符串或其他数字。可选的 base参数指定了进制,例如,
int('10', 2)
将二进制字符串转换为整数。- 转化方式:将参数
x
转换为整数。- 输出类型:整数。
float(x)
:
- 参数类型:可以是字符串或其他数字。
- 转化方式:将参数
x
转换为浮点数。- 输出类型:浮点数。
str(x)
:
- 参数类型:可以是任何对象。
- 转化方式:将参数
x
转换为字符串。- 输出类型:字符串。
bool(x)
:
- 参数类型:可以是任何对象。
- 转化方式:将参数
x
转换为布尔值。- 输出类型:布尔值 (
True
或False
)。
list(iterable)
:
- 参数类型:通常是可迭代对象(如列表、元组、字符串等)。
- 转化方式:将可迭代对象转换为列表。
- 输出类型:列表。
tuple(iterable)
:
- 参数类型:通常是可迭代对象。
- 转化方式:将可迭代对象转换为元组。
- 输出类型:元组。
set(iterable)
:
- 参数类型:通常是可迭代对象。
- 转化方式:将可迭代对象转换为集合(无序不重复元素的容器)。
- 输出类型:集合。
dict(iterable)
:
- 参数类型:通常是包含键值对的可迭代对象。
- 转化方式:将键值对序列转换为字典。
- 输出类型:字典。
chr(x)
:
- 参数类型:整数。
- 转化方式:将整数转换为对应的Unicode字符。
- 输出类型:字符串(包含单个字符)。
ord(x)
:
- 参数类型:字符。
- 转化方式:将字符转换为对应的Unicode码点(整数)。
- 输出类型:整数。