题目链接:https://leetcode-cn.com/problems/add-two-numbers/
description:
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例:
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807
# 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
"""
def convert(ls):
num = ''
while ls.next != None:
num = str(ls.val) + num
ls = ls.next
return int(num)
num1, num2 = int(convert(l1)), int(convert(l2))
sum_num = num1 + num2
root = ListNode(sum_num % 10)
l3 = root
sum_num = sum_num // 10
while sum_num != 0:
l4 = ListNode(sum_num % 10)
l3.next = l4
l3 = l4
sum_num = sum_num // 10
return root
参考链接:https://www.bilibili.com/video/av49891425?from=search&seid=15786207938308915693