Python解链表两数相加

  • 时间:
  • 来源:互联网

Q

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

A

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def addTwoNumbers(self, l1, l2):
        str_1 = ''
        while True:
            str_1 = str(l1.val) + str_1
            if l1.next != None:
                l1 = l1.next
            else:
                break
        str_2 = ''
        while True:
            str_2 = str(l2.val) + str_2
            if l2.next != None:
                l2 = l2.next
            else:
                break
        result = str(int(str_1) + int(str_2))
        res_List = []
        for i in result:
            res_List.append(ListNode(int(i)))
        index = len(res_List)-1
        while index>0 :
            res_List[index].next = res_List[index-1]
            index = index-1
        return res_List[-1]    

Repair

  • append()是在数组末尾添加元素
  • len()返回值比数组最大索引大1
郭洪源
发布了203 篇原创文章 · 获赞 105 · 访问量 11万+
私信 关注

本文链接http://element-ui.cn/news/show-1378.aspx