博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcood学习笔记-67-二进制求和
阅读量:4886 次
发布时间:2019-06-11

本文共 1750 字,大约阅读时间需要 5 分钟。

题目描述:

第一次提交:

class Solution:    def addBinary(self, a: str, b: str) -> str:        list_a,list_b=[],[]        for s in a:            list_a.append(int(s))        for s in b:            list_b.append(int(s))        if len(list_a)>=len(list_b):            for i in range(len(list_a)-len(list_b)):                list_b.insert(0,0)        else:            for i in range(len(list_b)-len(list_a)):                list_a.insert(0,0)        for i in range(len(list_b)):            list_b[i]=list_b[i]+list_a[i]        for i in range(len(list_b)-1,0,-1):            if list_b[i]>1:                list_b[i]=list_b[i]-2                list_b[i-1]+=1        if list_b[0]>1:            list_b[0]=list_b[0]-2            list_b.insert(0,1)        for i in range(len(list_b)):            list_b[i]=str(list_b[i])        strb="".join(list_b)        return strb

方法二:使用内置函数

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

其他:

class Solution:    def addBinary(self, a: str, b: str) -> str:        if len(a) < len(b):            a,b = b,a        b = "0"*(len(a)-len(b)) + b        carry = 0        L = len(a)        res = ''        while L>0:            tmp = int(a[L-1]) + int(b[L-1]) +carry            carry = tmp // 2            res += str(tmp % 2)            L -= 1        return (res + str(carry))[::-1] if carry else res[::-1]

转换函数:

dec = input('10进制数为:')print("转换为二进制为:", bin(dec))print("转换为八进制为:", oct(dec))print("转换为十六进制为:", hex(dec)) string1 = '101010'print('二进制字符串转换成十进制数为:',int(string1,2))string1 = '367'print('八进制字符串转换成十进制数为:',int(string1,8))string3 = 'FFF'--------------------- 作者:段小胖 来源:CSDN 原文:https://blog.csdn.net/dxcve/article/details/81153331

 

转载于:https://www.cnblogs.com/oldby/p/10519805.html

你可能感兴趣的文章
(8)关于flexbox的一些想法。
查看>>
一台机子同时启动两个相同版本的tomcat
查看>>
剑指offer——python【第29题】最小的K个数
查看>>
带你入门代理模式/SpringAop的运行机制
查看>>
eclipse对离线python的环境搭建
查看>>
OpenCV imshow无法显示图片
查看>>
js线程&定时器
查看>>
java.lang.IllegalStateException: getOutputStream() has already been cal
查看>>
Ubuntu下搜狗输入法乱码
查看>>
计算机网络●通信协议
查看>>
在EditPlus里配置编译和运行java代码的方法
查看>>
gson所需jar包
查看>>
最干净的pyinstaller打包成exe应用程序方法
查看>>
Python中的数据类型
查看>>
讲给普通人听的分布式数据存储【转载】
查看>>
vs2008 C# 怎么调试C++ dll[转]
查看>>
PHP的魔术方法
查看>>
警惕麦咖啡的"缓冲区溢出保护"引起的ASP.NET 中 System.OutOfMemoryException 的错误...
查看>>
optimizer_dynamic_sampling
查看>>
HTML(WEB)开发day05
查看>>