函数式leetcode-2

来源:互联网 发布:怎么安装office软件 编辑:程序博客网 时间:2024/06/05 02:14
# Definition for singly-linked list.class ListNode(object):    def __init__(self, x):        self.val = x        self.next = Noneclass 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 ldef 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 lif __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)

0 0