Leetcode 67. 二进制求和 (每日一题 20210826)
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 67. 二进制求和 (每日一题 20210826)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你兩個二進制字符串,返回它們的和(用二進制表示)。輸入為 非空 字符串且只包含數字?1?和?0。示例?1:輸入: a = "11", b = "1"
輸出: "100"
示例?2:輸入: a = "1010", b = "1011"
輸出: "10101"鏈接:https://leetcode-cn.com/problems/add-binaryclass Solution:def addBinary(self, a: str, b: str) -> str:# 解法一# return bin(int(a,2) + int(b,2))[2:]# 解法二res, la, lb, tmp = "", len(a) - 1, len(b) - 1, 0while la >= 0 or lb >= 0:x = ord(a[la]) - ord("0") if la >= 0 else 0y = ord(b[lb]) - ord("0") if lb >= 0 else 0sum_ = x + y + tmpres += str(sum_ % 2)tmp = sum_ // 2la -= 1lb -= 1if tmp != 0:res += str(tmp)return res[::-1]
總結
以上是生活随笔為你收集整理的Leetcode 67. 二进制求和 (每日一题 20210826)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 剑指 Offer 40
- 下一篇: Leetcode 989. 数组形式的整