leetcode(二)—— Add Two Numbers(Python/C++)
来源:互联网 发布:简易画地图软件 编辑:程序博客网 时间:2024/05/17 07:12
Add Two Numbers | LeetCode OJ
逻辑是简单的,主要是处理进位,以及两序列长度不一致的情况;
Python
# 链表结点定义class ListNode(object): def __init__(self, x): self.val = x self.next = None# 为链表添加新的元素def addTail(l, node): if l.next is None: l.next = node else: p = l.next while p.next: p = p.next p.next = nodeclass Solution(object): def addTwoNumbers(self, l1, l2): carrier = 0 x, y = l1.val, l2.val if x+y>=10: carrier = 1 l = ListNode(x+y-10) else: l = ListNode(x+y) while l1.next and l2.next: x, y = l1.next.val, l2.next.val if x+y+carrier>=10: addTail(l, ListNode(x+y+carrier-10)) carrier = 1 else: addTail(l, ListNode(x+y+carrier)) carrier = 0 l1 = l1.next l2 = l2.next # 以下两个 while 循环处理长度不一致的情况 while l1.next: if l1.next.val+carrier >= 10: addTail(l, ListNode(l1.next.val+carrier-10)) carrier = 1 else: addTail(l, ListNode(l1.next.val+carrier)) carrier = 0 l1 = l1.next while l2.next: if l2.next.val+carrier >= 10: addTail(l, ListNode(l2.next.val+carrier-10)) carrier = 1 else: addTail(l, ListNode(l2.next.val+carrier)) carrier = 0 l2 = l2.next # 还有进位 if carrier == 1: addTail(l, ListNode(1)) return l
0 0
- leetcode(二)—— Add Two Numbers(Python/C++)
- LeetCode 2 — Add Two Numbers(C++ Java Python)
- 【leetcode】2. Add Two Numbers(Python & C++)
- 【leetcode 2】 Add Two Numbers(C++)
- LeetCode 2. Add Two Numbers(C++)
- leetcode—Add Two Numbers
- Add Two Numbers(C)
- leetcode 练习——add two numbers (Java)
- Leetcode学习(25)—— Add Two Numbers
- 刷LeetCode(2)——Add Two Numbers
- (LeetCode)算法题目——Add Two Numbers
- LeetCode刷题(C++)——Add Two Numbers(Medium)
- Leetcode题解(Python): 2.Add Two Numbers
- [leetcode]-add two numbers @python
- 【Leetcode】【python】Add Two Numbers
- LeetCode 之 Add Two Numbers — C 实现
- 【LeetCode编程学习(C语言)】2.Add Two Numbers
- 【LeetCode算法练习(C语言)】Add Two Numbers
- 开线程队列下载缓存图片
- JS获取当前浏览器的类型
- 如何把IIC转UART
- 京东2016笔试题,小东复习
- 用递归法列出硬盘内某一文件夹下的内容。基于Java.io.file
- leetcode(二)—— Add Two Numbers(Python/C++)
- Constant is not finite! That's illegal. constant:nan
- 用ubuntu脚本安装kubernetes1.2.1报错roles[${ii}]: unbound variable
- [数据库 开发] 大量数据表的优化方案
- 如何使python2.7的程序与python3.x的兼容
- linux anaconda 和 jupyter配置
- foreach遍历list
- java中,字符串中的函数的替换方法
- JS禁用鼠标滚轮事件