add 2 numbers
来源:互联网 发布:sas数据分析大赛客观题 编辑:程序博客网 时间:2024/06/06 09:01
2. add 2 numbers
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
解:
对我来说是学习Python里“链表”的一道题。
https://leetcode.com/articles/add-two-numbers/
#Definition for singly-linked list. class ListNode(object): def __init__(self, x): self.val = x self.next = None
首先要keep track of carry, 就是进位。
dummy是我们最后要返回的class。
v1 = v2 = 0 初始为零,确保了当一个list结束之后不会有问题,会直接表示value是0。
其中divmod
函数能够直接获得carry和val,于是新建一个ListNode,让“指针”指向下一个值。
class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ carry = 0 dummy = n = ListNode(0) while l1 or l2 or carry: v1 = v2 = 0 if l1: v1 = l1.val l1 = l1.next if l2: v2 = l2.val l2 = l2.next carry, val = divmod(v1 + v2 + carry, 10) n.next = ListNode(val) n = n.next return dummy.next
阅读全文
0 0
- leetcode005:Add 2 numbers
- 2 Add Two Numbers
- 2、Add Two Numbers
- 2、Add Two Numbers
- 2 Add Two Numbers
- 2Add Two Numbers
- #2 Add Two Numbers
- 2 - Add Two Numbers
- 2Add Two Numbers
- 2 Add Two Numbers
- 2 Add Two Numbers
- #2 Add Two Numbers
- 2 Add Two Numbers
- Add Two Numbers【2】
- 2、add two numbers
- 2、Add Two Numbers
- 2 - Add Two Numbers
- 2 Add Two Numbers
- 项目的概要设计过程
- Scala---字符串
- 但行好事 莫问前程
- UIWindow的windowLevel属性
- 用户访问页面js执行工作流示例一
- add 2 numbers
- 单例模式的八种写法比较
- AngularJS Eclipse 插件
- 排列组合(一)全排列
- html5知识点
- 腾讯云主机windows 2012 r2搭建ftp服务器
- 1.2 Python开发环境
- PAT甲级 1027. Colors in Mars (20)
- 数据库面试题(转)