-
题目链接 https://leetcode-cn.com/problems/add-two-numbers-ii/
-
题目描述
-
给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。
-
输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) 输出: 7 -> 8 -> 0 -> 7
-
-
解题思路
- 分别遍历两个链表,将链表代表的数存于a, b
- 根据a,b的和,用头插法转换成链表
-
代码
- python
class Solution: def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode: a = 0 while l1: a, l1 = a * 10 + l1.val, l1.next b = 0 while l2: b, l2 = b * 10 + l2.val, l2.next a += b if not a: return ListNode(0) res = None while a: tmp, a = ListNode(a%10), a//10 tmp.next = res res = tmp return res
- python
07-21
07-21
07-21
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交