# 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 = NodeToList(l1)
list2 = NodeToList(l2)
list1.reverse()
list2.reverse()
a1 = 0
a2 = 0
for item in list1:
a1 = a1 * 10 + item
for item in list2:
a2 = a2 * 10 + item
a3 = a1 + a2
list3 = map(lambda x : x,str(a3))
list3.reverse()
return ListToNode(list3)
def NodeToList(list_node):
l = []
node = list_node
while node.next != None:
l.append(node.val)
node = node.next
l.append(node.val)
return l
def ListToNode(list):
l = ListNode(0)
start = l
last = l
for item in list:
last = start
start.val = item
start.next = ListNode(0)
start = start.next
last.next = None
return l
if __name__ == '__main__':
test = Solution()
#result = test.twoSum([3,2,4],6)
#result = test.twoSum([0,4,3,0],0)
result = ListToNode([])
result = NodeToList(result)
result = NodeToList(test.addTwoNumbers(ListToNode([2,4,3]),ListToNode([5,6,4])))
print(result)
函数式leetcode-2
最新推荐文章于 2024-09-15 22:31:42 发布