leetcode之Add Binary(67)

原创 2018年04月17日 17:51:35

题目:

给定两个二进制字符串,返回他们的和(用二进制表示)。

输入为非空字符串且只包含数字 1 和 0

示例 1:

输入: a = "11", b = "1"
输出: "100"

示例 2:

输入: a = "1010", b = "1011"
输出: "10101"

python代码1:

class Solution:
    def addBinary(self, a, b):
        c = int(str(a),2) + int(str(b),2)
        return bin(c)[2:]
        

python代码2:

class Solution:
    def addBinary(self, a, b):
        if not a or not b:
            return a if a else b
        if a[-1] == '1' and b[-1] == '1':
            return self.addBinary(self.addBinary(a[:-1], b[:-1]), '1') + '0'
        elif a[-1] == '0' and b[-1] == '0':
            return self.addBinary(a[:-1], b[:-1]) + '0'
        else:
            return self.addBinary(a[:-1], b[:-1]) + '1'
心得:第一种方法代码量少,但是忽略了实现细节。第二种方法用递归来实现,比较巧妙。

大数据应用开发之数据清洗开胃、生产、实操

-
  • 1970年01月01日 08:00

leetcode 67 Add Binary

Add Binary Total Accepted: 46815 Total Submissions: 189215 My Submissions                   ...
  • wangyaninglm
  • wangyaninglm
  • 2015-07-05 21:49:19
  • 3209

LeetCode(67) Add Binary

题目Given two binary strings, return their sum (also a binary string).For example, a = “11” b = “1” ...
  • fly_yr
  • fly_yr
  • 2015-08-19 20:58:22
  • 1968

LeetCode 67 : Add Binary (Java)

解题思路:从末尾依次对应相加来求,转成int中的相加会使代码比较简洁,因为可以用/和%来分别求出进位和当前往结果中添加的位。然后,把较长的字符串剩下的部分和进位相加放入结果。最后,还要判断进位此时是否...
  • changetocs
  • changetocs
  • 2015-12-03 21:08:20
  • 717

[leetcode-67]Add Binary(C)

问题描述: Given two binary strings, return their sum (also a binary string).For example, a = “11” b =...
  • zdavb
  • zdavb
  • 2015-08-02 22:41:45
  • 284

Add Binary | leetcode 67 【Java解题报告】

Given two binary strings, return their sum (also a binary string). For example, a = "11" b = "1" Re...
  • happyaaaaaaaaaaa
  • happyaaaaaaaaaaa
  • 2015-10-04 14:23:39
  • 2020

leetcode 67 Add Binary C++

先对齐,在相加,注意进位即可。 string addBinary(string a, string b) { bool flag = false; int aSize...
  • a2331046
  • a2331046
  • 2016-06-13 10:54:12
  • 406

【leetcode】67. Add Binary(Python & C++)

67. Add Binary题目链接67.1 题目描述:Given two binary strings, return their sum (also a binary string).For ex...
  • liuxiao214
  • liuxiao214
  • 2017-09-04 20:18:41
  • 241

67. Add Binary Leetcode Python

For example, a = "11" b = "1" Return "100". 这题的做法和前面一题plus one 一样,区别在于需要将两个string先相加,再判断是否要进位。 ...
  • hyperbolechi
  • hyperbolechi
  • 2015-02-04 23:43:05
  • 661

LeetCode 67 Add Binary(二进制相加)(*)

翻译给定两个二进制字符串,返回它们的和(也是二进制字符串)。例如, a = "11" b = "1" 返回 "100".原文Given two binary strings, return their...
  • NoMasp
  • NoMasp
  • 2016-02-02 13:49:53
  • 2228
收藏助手
不良信息举报
您举报文章:leetcode之Add Binary(67)
举报原因:
原因补充:

(最多只允许输入30个字)