Leetcode练习<十五>二进制数相加
来源:互联网 发布:茵曼官方旗舰店淘宝 编辑:程序博客网 时间:2024/06/05 16:21
class Solution(object): # 转换成一样长度的列表 def convert2SameLength(self, a, b): a = list(a) b = list(b) length = max(len(a), len(b)) for i in range(0, abs(len(a) - len(b))): if len(a) > len(b): b.insert(i, 0) elif len(a) < len(b): a.insert(i, 0) return a, b def addBinary(self, a, b): a, b = self.convert2SameLength(a, b) c = [] step = 0 for i in range(len(a) - 1, -1, -1): if int(a[i]) + int(b[i]) == 2: # 都为1的时候 # print('step:', step, 'a[i]', a[i], 'b[i]', b[i]) c.insert(0, str(step)) step = 1 # print(c) elif int(a[i]) + int(b[i]) == 1: # 一个为1, 一个为0的时候 # print('step:', step, 'a[i]', a[i], 'b[i]', b[i]) c.insert(0, str(0 if 1 + step == 2 else 1)) step = (1 if 1 + step == 2 else 0) # print(c) else: # 都为0的时候 # print('step:', step, 'a[i]', a[i], 'b[i]', b[i]) c.insert(0, str(step)) step = 0 # print(c) if step == 1: c.insert(0, str(step)) return ''.join(c) # 大神写的还没看懂 def addBinary1(self, a, b): if len(a) == 0: return b if len(b) == 0: return a if a[-1] == '1' and b[-1] == '1': return self.addBinary(self.addBinary(a[0:-1], b[0:-1]), '1') + '0' if a[-1] == '0' and b[-1] == '0': return self.addBinary(a[0:-1], b[0:-1]) + '0' else: return self.addBinary(a[0:-1], b[0:-1]) + '1'if __name__ == '__main__': a = '111' b = '11' s = Solution() # a, b = s.convert2SameLength(a, b) print(s.addBinary1(a, b))
阅读全文
0 0
- Leetcode练习<十五>二进制数相加
- leetcode 之 二进制数相加
- leetCode 之 两个二进制数相加
- LeetCode-67 Add Binary(二进制数相加)
- 实现二进制数相加
- [LeetCode]67 二进制相加
- 算法Day5-二进制数相加
- Add Binary 二进制数相加
- Add Binary 二进制相加 @LeetCode
- Leetcode:Add Binary 二进制相加
- LeetCode之二进制字符串相加
- 二进制数相加或两个数相加(C++)
- Leetcode刷题记——67. Add Binary(二进制数相加)
- 两个二进制数相加后得到新的二进制数
- 两个n位二进制数相加
- poj 2845 字符串(二进制数相加)
- Add Binary 将二进制数相加
- [LeetCode]2 两个数相加
- 端口
- MATLAB 赋值具有的非单一 rhs 维度多于非单一下标数
- 胜负----猜想或单词----博弈
- EventBus3.0入门级使用
- js-获取JSON数组的长度
- Leetcode练习<十五>二进制数相加
- ORA-00257: 归档程序错误。在释放之前仅限于内部连接
- Android Paint API
- 用crontab做爬虫定时任务
- linux权限操作
- mysql 各种show
- Android 6.0
- arcgis for android 加载jpg格式的影像地图显示不出的问题
- 欢迎使用CSDN-markdown编辑器