题目来源:

  https://leetcode.com/problems/add-binary/


题意分析:

  这题是要将二进制相加,比如“11”,“1”,那么就返回“100”。


题目思路:

  模拟加法的过程,直接模拟,大于等于2就进位。


代码(Python):

  

 1 class Solution(object):
 2     def addBinary(self, a, b):
 3         """
 4         :type a: str
 5         :type b: str
 6         :rtype: str
 7         """
 8         size1 = len(a);size2 = len(b)
 9         if size1 == 0:
10             return b
11         if size2 == 0:
12             return a
13         carry,ans = 0,""
14         while size1 > 0 and size2 > 0:
15             tmp = int(a[size1 -1]) + int(b[size2 - 1]) + carry
16             carry = tmp // 2;tmp %= 2
17             ans += str(tmp)
18             size1 -= 1;size2 -= 1
19         if size1 == 0:
20             while size2 > 0:
21                 tmp = int(b[size2 - 1]) + carry
22                 carry = tmp // 2;tmp %= 2
23                 ans += str(tmp)
24                 size2 -= 1
25         if size2 == 0:
26             while size1 > 0:
27                 tmp = int(a[size1 - 1]) + carry
28                 carry = tmp // 2;tmp %= 2
29                 ans += str(tmp)
30                 size1 -= 1
31         if carry == 1:
32             ans += str(carry)
33         ans = ans[::-1]
34         return ans

View Code


转载请注明出处:http://www.cnblogs.com/chruny/p/5028769.html

转载于:https://www.cnblogs.com/chruny/p/5028769.html

[LeetCode]题解(python):067-Add Binary相关推荐

  1. Java for LeetCode 067 Add Binary

    Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...

  2. 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之中——实际应用

    上一节介绍了哈希表的原理与设计方法,这一节则直接python中现有的哈希表类型:哈希集合 set(集合)和哈希映射 dict(字典)来解决实际应用(刷题). 零.概念 在介绍实际应用之前,有一个概念我 ...

  3. 两数、三数、四数之和相关题目(Leetcode题解-Python语言)

    作为 Leetcode 的第一题,两数之和自然是知名度最高的,从两数之和出发也有不少的衍生题目,下面就让我们好好地解决它们. 1. 两数之和 class Solution:def twoSum(sel ...

  4. 在数组中找重复数、只出现一次的数或丢失数的题目(Leetcode题解-Python语言)

    在一维数组中的考察中,最常见的就是找出数组中的重复数.只出现一次的数或者丢失(消失)数等等. 一般来说,首先想到的就是用哈希表(集合)来记录出现过的数,基本所有的题都可以用集合来做,而技巧性在于有时可 ...

  5. 链表基础概念与经典题目(Leetcode题解-Python语言)

    所谓链表,就是由链节点元素组成的表,那什么是链节点呢?直接上定义: class ListNode:def __init__(self, val=0, next=None):self.val = val ...

  6. 岛屿类问题的广度优先深度优先双解法(Leetcode题解-Python语言)

    695. 岛屿的最大面积 先上最经典的题目,详细思路看这题的官方题解,简单来说的岛屿问题就是遍历二维数组,一般都是从一块陆地开始,进行深度优先或者广度优先搜索,每次上下左右四个方向选其一然后寻找下一块 ...

  7. 二分查找基础概念与经典题目(Leetcode题解-Python语言)二分索引型

    二分查找的定义如下(引自Wiki): 在计算机科学中,二分查找算法(英语:binary search algorithm),也称折半搜索算法(英语:half-interval search algor ...

  8. 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之上——原理与设计

    哈希表(Hash table,也叫散列表),是根据键(Key)而直接访问数据在内存中的储存位置(又叫做存储桶,Buckets)的数据结构.也就是说,它通过计算一个关于键值的函数(哈希函数,Hash f ...

  9. 二叉树层序遍历(广度优先搜索)基础概念与经典题目(Leetcode题解-Python语言)

    二叉树的广度优先搜索即从上到下.从左到右地进行搜索,对于层序遍历(Level Order)问题,即依次遍历第一层节点.第二层节点-等,基本可以秒杀. 广度优先搜索是通过队列来实现的,python中优先 ...

  10. 067 Add Binary 二进制求和

    给定两个二进制字符串,返回他们的和(用二进制表示). 案例: a = "11" b = "1" 返回 "100" . 详见:https:// ...

最新文章

  1. python跟java 效率_对比平台--Java与Python之间的性能差异
  2. 百度吴甜宣布百度AI加速器第二期开营,要让创业者跑得更快
  3. 078_html5Canvas
  4. python 列表(list)操作及函数
  5. java动态拼接String类sql
  6. 《Head First设计模式》第五章笔记-单件模式
  7. 解决:java.io.IOException: invalid constant type: 15
  8. pythopn 函数(内置函数)
  9. 一文讲全了Python 类和对象内容
  10. JS 实现两表格里的数据来回 转移
  11. 单片机学习都时候需要注意的步骤-依葫芦画瓢
  12. python是如何进行内存管理的_Python是如何进行内存管理的?
  13. 擅长C(DAY 70)
  14. Android App拥有system权限
  15. 等比 / 等差数列求和公式
  16. 《楚门的世界》观后感
  17. 百度地图BMap API的应用实例
  18. 【快速上手教程1】开源编队无人机-开机测试
  19. 教你制作手机电子书android应用
  20. [转载]怎么用C#制作印章

热门文章

  1. 五分钟看懂快速幂算法
  2. 左对齐 latex_初学者关于Latex的一些总结(持续更新中...)
  3. linux终端输出图形_Linux进程关系
  4. python模块的分类有哪些_整理了一份清单,常见Python问题的快速解答包
  5. configurationproperties_Spring Boot中@ConfigurationProperties注解实现原理源码解析
  6. spring cloud微服务分布式云架构简介
  7. 阿里面试记录-程序上机
  8. 三十七、【获取相机权限】
  9. 开发时多选操作的实现
  10. python requirements.txt