建站不备案,建好网站是不是每年都要交钱,注册劳务公司需要什么条件多少钱,营销渠道的选择和营销网络的建设借文引流#xff1a;五点钟科技_大道至简系列,机器学习算法系列,学习经验分享-CSDN博客 欢迎大家阅览我的其它专栏。 题目#xff1a; 给你两个 非空 的链表#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的#xff0c;并且每个节点只能存储 一位 数…借文引流五点钟科技_大道至简系列,机器学习算法系列,学习经验分享-CSDN博客 欢迎大家阅览我的其它专栏。 题目 给你两个 非空 的链表表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的并且每个节点只能存储 一位 数字。 请你将两个数相加并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外这两个数都不会以 0 开头。 解题思路两个数相加无非就是考虑两个数中每个数字相加后的进位问题怎么进位大于9的进1位小于10的不用进位所以每个数字相加后要记录的数有两个和相对于10的余数以及和相对于10的商的整数。例如8917记录17101余7所以在构建结果链表的时候需要将7添加到链表节点同时在下一次两数相加的时候再加上1。这个没啥说的就是小学都会的求和运算。 def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) - Optional[ListNode]:result ListNode(None)p resultcarry 0while l1 or l2:step_sum (l1.val if l1 else 0) (l2.val if l2 else 0) carrymod step_sum % 10carry step_sum // 10p.next ListNode(mod)p p.nextl1 l1.next if l1 else Nonel2 l2.next if l2 else Noneif carry:p.next ListNode(carry)return result.next