LeetCode|Day28|67. 二进制求和|Python刷题笔记
LeetCode|Day28|67. 二进制求和|Python刷题笔记
🗓️ 本文属于【LeetCode 简单题百日计划】系列
👉 点击查看系列总目录 >>
📌 题目简介
题号:67. 二进制求和
难度:简单
题目链接:点击跳转
🧾 题目描述
给你两个二进制字符串 a
和 b
,以字符串形式返回它们的和(也是一个二进制字符串)。
示例:
输入:a = "11", b = "1"
输出:"100"
💡 解法:内置函数简化法
class Solution:def addBinary(self, a: str, b: str) -> str:# 转为十进制相加再转回二进制字符串return bin(int(a, 2) + int(b, 2))[2:]
🧠 我的理解
- Python 提供了非常方便的进制转换函数;
int(x, 2)
把二进制字符串转为整数;bin(n)
把整数转为二进制字符串,但会带前缀0b
;- 用字符串切片
[2:]
去除前缀即可。
📌 基础语法复习:
int(str, base)
:按进制转换字符串;bin(num)
:将十进制转换为二进制字符串;- 字符串切片
[start:end]
:截取子串。