题目描述:
主要是考察链表的操作,用链表来模拟两数相加
解决代码如下:
# 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):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
r = result = ListNode(0)
carry = 0
while l1 or l2:
x = l1.val if l1 else 0
y = l2.val if l2 else 0
s = carry + x + y
carry = s // 10
r.next = ListNode(s % 10)
r = r.next
if l1:
l1 = l1.next
if l2:
l2 = l2.next
if carry > 0:
r.next = ListNode(1)
return result.next
提交结果: