[LeetCode]题解(python):067-Add Binary
题目来源:
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相关推荐
- Java for LeetCode 067 Add Binary
Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...
- 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之中——实际应用
上一节介绍了哈希表的原理与设计方法,这一节则直接python中现有的哈希表类型:哈希集合 set(集合)和哈希映射 dict(字典)来解决实际应用(刷题). 零.概念 在介绍实际应用之前,有一个概念我 ...
- 两数、三数、四数之和相关题目(Leetcode题解-Python语言)
作为 Leetcode 的第一题,两数之和自然是知名度最高的,从两数之和出发也有不少的衍生题目,下面就让我们好好地解决它们. 1. 两数之和 class Solution:def twoSum(sel ...
- 在数组中找重复数、只出现一次的数或丢失数的题目(Leetcode题解-Python语言)
在一维数组中的考察中,最常见的就是找出数组中的重复数.只出现一次的数或者丢失(消失)数等等. 一般来说,首先想到的就是用哈希表(集合)来记录出现过的数,基本所有的题都可以用集合来做,而技巧性在于有时可 ...
- 链表基础概念与经典题目(Leetcode题解-Python语言)
所谓链表,就是由链节点元素组成的表,那什么是链节点呢?直接上定义: class ListNode:def __init__(self, val=0, next=None):self.val = val ...
- 岛屿类问题的广度优先深度优先双解法(Leetcode题解-Python语言)
695. 岛屿的最大面积 先上最经典的题目,详细思路看这题的官方题解,简单来说的岛屿问题就是遍历二维数组,一般都是从一块陆地开始,进行深度优先或者广度优先搜索,每次上下左右四个方向选其一然后寻找下一块 ...
- 二分查找基础概念与经典题目(Leetcode题解-Python语言)二分索引型
二分查找的定义如下(引自Wiki): 在计算机科学中,二分查找算法(英语:binary search algorithm),也称折半搜索算法(英语:half-interval search algor ...
- 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之上——原理与设计
哈希表(Hash table,也叫散列表),是根据键(Key)而直接访问数据在内存中的储存位置(又叫做存储桶,Buckets)的数据结构.也就是说,它通过计算一个关于键值的函数(哈希函数,Hash f ...
- 二叉树层序遍历(广度优先搜索)基础概念与经典题目(Leetcode题解-Python语言)
二叉树的广度优先搜索即从上到下.从左到右地进行搜索,对于层序遍历(Level Order)问题,即依次遍历第一层节点.第二层节点-等,基本可以秒杀. 广度优先搜索是通过队列来实现的,python中优先 ...
- 067 Add Binary 二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示). 案例: a = "11" b = "1" 返回 "100" . 详见:https:// ...
最新文章
- python跟java 效率_对比平台--Java与Python之间的性能差异
- 百度吴甜宣布百度AI加速器第二期开营,要让创业者跑得更快
- 078_html5Canvas
- python 列表(list)操作及函数
- java动态拼接String类sql
- 《Head First设计模式》第五章笔记-单件模式
- 解决:java.io.IOException: invalid constant type: 15
- pythopn 函数(内置函数)
- 一文讲全了Python 类和对象内容
- JS 实现两表格里的数据来回 转移
- 单片机学习都时候需要注意的步骤-依葫芦画瓢
- python是如何进行内存管理的_Python是如何进行内存管理的?
- 擅长C(DAY 70)
- Android App拥有system权限
- 等比 / 等差数列求和公式
- 《楚门的世界》观后感
- 百度地图BMap API的应用实例
- 【快速上手教程1】开源编队无人机-开机测试
- 教你制作手机电子书android应用
- [转载]怎么用C#制作印章
热门文章
- 五分钟看懂快速幂算法
- 左对齐 latex_初学者关于Latex的一些总结(持续更新中...)
- linux终端输出图形_Linux进程关系
- python模块的分类有哪些_整理了一份清单,常见Python问题的快速解答包
- configurationproperties_Spring Boot中@ConfigurationProperties注解实现原理源码解析
- spring cloud微服务分布式云架构简介
- 阿里面试记录-程序上机
- 三十七、【获取相机权限】
- 开发时多选操作的实现
- python requirements.txt