每日一题力扣445 链表转数组相加两数求和

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-two-numbers-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution:
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        if l1 == None: return l2
        if l2 == None: return l1

        def listnode2num(node):  # 将链表转换为数字(int)
            res = 0
            while node:
                res = res * 10 + node.val
                node = node.next
            return res

        result = listnode2num(l1) + listnode2num(l2)
        dummy_node = ListNode(0)  # 创建dummynode
        start_node = dummy_node
        for i in str(result):  # 讲结果相加结果转换为字符,然后逐位取出
            dummy_node.next = ListNode(int(i))  # 将取出的字符逐位放入新建的链表
            dummy_node = dummy_node.next#移动游标
        return start_node.next
原文地址:https://www.cnblogs.com/liuxiangyan/p/14532417.html