给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。
你可以假设除了数字 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