题目
思路分析
题目要求:2个链表 逆序表示十进制树,按位数 两两相加。
这题 我的的思路就是从个位慢慢往上加
如果加起来的值超过10,就要进位,新建节点的值为1。
代码展示
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
l3=ListNode(0)
res=l3
temp=0 #保存当前位数上的数值
while l1 or l2:
temp=0
if l1:
temp+=l1.val
l1=l1.next
if l2:
temp+=l2.val
l2=l2.next
if l3.val+temp>9: #如果当前取值超过10 向后进位
l3.val=(l3.val+temp)%10
l3.next=ListNode(1)
l3=l3.next
else:
l3.val=temp+l3.val
if l1 or l2: #如果后一位存在,再新建节点
l3.next=ListNode(0)
l3=l3.next
return res;
本文详细解析了LeetCode上经典题目“两数相加”的链表实现思路,通过逐步分析如何处理两个链表的逆序相加及进位问题,提供了一个清晰的Python代码示例。
978

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



