我是靠谱客的博主 狂野老师,这篇文章主要介绍LeetCode 67. 二进制求和 python,现在分享给大家,希望可以做个参考。

题目:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0

示例 1:

复制代码
1
2
输入: a = "11", b = "1" 输出: "100"

示例 2:

复制代码
1
2
输入: a = "1010", b = "1011" 输出: "10101"

我的python写法:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Solution(object):     def addBinary(self, a, b):         """         :type a: str         :type b: str         :rtype: str         """         m = len(a)         n = len(b)         p = ''                  if m==max(m,n):              a='0'+a                #多加一位,防止进位溢出。             b='0'*(m-n+1)+b           else:              b='0'+b             a='0'*(n-m+1)+a         n = len(b)                #获得字符串长度         tmp='0'                    #进位符标志         for i in range(n-1,-1,-1):  #倒序相加             if a[i]==b[i]:                 p = tmp+p                 if b[i]=='1': tmp='1'                 else: tmp='0'                elif tmp=='0':                  p='1'+p             else: p='0'+p                           if p[0]=='0': return p[1:]         return p

 

最后

以上就是狂野老师最近收集整理的关于LeetCode 67. 二进制求和 python的全部内容,更多相关LeetCode内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(102)

评论列表共有 0 条评论

立即
投稿
返回
顶部