lecode-两数相加

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807

代码如下

class ListNode(object):
    def __init__(self,x):
        self.val = x
        self.next = None

class solution(object):
    def addTwoNumber(self,l1,l2):
        t =ListNode(0)#其实这就是个实例
        #把t这个数据封装成链表所需要的节点
        cur = t
        n1 = ""
        n2 = ""
        while l1:
            n1+= str(l1.val)
            l1 = l1.next
        while l2:
            n2+= str(l2.val)
            l2 = l2.next

        num1 = n1[::-1]
        num2 = n2[::-1]
        k = str(int(num1)+int(num2))
        l = len(k)-1
        while l >= 0:
            cur = ListNode(k[l])
            cur = cur.next
            l -= 1
        return t.next

你可能感兴趣的:(lecode-两数相加)