两数相加
方法一:
利用python比较方便的包,转来转去,写了个效率比较低的
# 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
"""
list1 = []
list2 = []
while l1:
list1.append(str(l1.val))
l1 = l1.next
while l2:
list2.append(str(l2.val))
l2 = l2.next
list1 = list1[::-1]
list2 = list2[::-1]
x1 = int("".join(list1))
x2 = int("".join(list2))
x = str(x1 + x2)[::-1]
out_x = ListNode(int(x[0]))
head = out_x
for i in x[1:]:
out_x.next = ListNode(int(i) )
out_x = out_x.next
return head
方法二