力扣两数相加python
时间: 2023-06-22 07:17:45 浏览: 357
好的,这是力扣上的两数相加问题的 Python 代码示例:
```python
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
carry = 0
dummy = ListNode(0)
curr = dummy
while l1 or l2 or carry:
val1 = l1.val if l1 else 0
val2 = l2.val if l2 else 0
carry, val = divmod(val1 + val2 + carry, 10)
curr.next = ListNode(val)
curr = curr.next
l1 = l1.next if l1 else None
l2 = l2.next if l2 else None
return dummy.next
```
其中,`l1` 和 `l2` 是两个非空的链表,表示两个非负数,链表中每个节点的值都是 0-9 的数字,且按照逆序方式存储数字,即第一个节点包含最低位的数字。函数需要返回一个新的链表,表示两个数相加的和,同样按照逆序方式存储数字,如果有进位则需要将进位加入到下一个节点中。
阅读全文