题目大意
给定两个链表分别代表两个非负整数。数位以倒序存储,并且每一个节点包含一位数字。将两个数字相加并以链表形式返回。
解题思路
链表简单相加,到10进位
代码
根据书影博客
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ dummy= ListNode(0) l = dummy jinwei = 0 while l1 or l2 or jinwei: sum, jinwei = jinwei, 0 if l1: sum += l1.val l1 = l1.next if l2: sum += l2.val l2 = l2.next if sum > 9: # 需要进位 jinwei = 1 sum -= 10 l.next = ListNode(sum) l = l.next return dummy.next
|
总结
- val 和 next 的理解
- 哑节点: l = dummy