说实在,第二题没看明白什么意思;
因为在python中两个数相加是直接
result=a+b
就可以了,没有用到底层的链表结构,所以,一开始好蒙
以下是别的大佬的答案:
仅供参考:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
"""
方法三 看了大佬的代码后 修改出的代码
:param l1:
:param l2:
:return:
"""
head = ListNode(0)
p = head
carry = 0
while l1 or l2:
x,y = l1.val if l1 else 0,l2.val if l2 else 0
s = x + y + carry
r,carry = s%10,s//10
p.next = ListNode(r)
p = p.next
if l1:
l1 = l1.next
if l2:
l2 = l2.next
if carry:
p.next = ListNode(1)
return head.next