# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
res = ListNode(None)
res.next = None
ptr = res
carry = 0
ptr1 = l1
ptr2 = l2
while ptr1 or ptr2 or carry != 0:
if ptr1:
val1 = ptr1.val
ptr1 = ptr1.next
else:
val1 = 0
if ptr2:
val2 = ptr2.val
ptr2 = ptr2.next
else:
val2 = 0
val = val1 + val2 + carry
ptr_n = ListNode(val%10)
carry = int(val/10)
ptr.next = ptr_n
ptr = ptr_n
ptr.next = None
return res.next
Python, LeetCode, 2. 两数相加
最新推荐文章于 2025-02-12 22:08:18 发布
本文介绍了一种使用单链表实现两个数相加的方法。通过定义链表节点类 ListNode 和解决方案类 Solution,实现了 addTwoNumbers 函数,该函数接收两个链表作为参数,返回它们相加的结果作为一个新的链表。
4738

被折叠的 条评论
为什么被折叠?



