其实是模拟四则运算,刚开始很不明白关于ListNode 的问题
#Definition for singly-linked list.
#class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def addTwoNumbers(self, l1, l2):
cur1=l1
cur2=l2
carry=0
head=ListNode(-1)
cur=head
while cur1!=None and cur2!=None:
plus=cur1.val+cur2.val+carry
digit=plus%10
carry=plus/10
cur.next=ListNode(digit)
cur=cur.next
cur1=cur1.next
cur2=cur2.next
if cur1!=None:
while cur1!=None:
plus=cur1.val+carry
digit=plus%10
carry=plus/10
cur.next=ListNode(digit)
cur=cur.next
cur1=cur1.next
elif cur2!=None:
while cur2!=None:
plus=cur2.val+carry
digit=plus%10
carry=plus/10
cur.next=ListNode(digit)
cur=cur.next
cur2=cur2.next
if cur1==None and cur2==None:
if carry==1:
cur.next=ListNode(1)
return head.next