本文最后更新于:2022年10月4日 下午
题目描述
实现
什么额外要求都没有,也没让你把数字正序输出拼起来,那就直接简单遍历喽
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| class Solution: def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]: head: ListNode = ListNode() scout: ListNode = head c_flag: int = 0 while l1 is not None or l2 is not None: tmp: ListNode = ListNode() num1 = l1.val if l1 is not None else 0 num2 = l2.val if l2 is not None else 0 if num1 + num2 + c_flag >= 10: tmp.val = num1 + num2 + c_flag - 10 c_flag = 1 else: tmp.val = num1 + num2 + c_flag c_flag = 0 scout.next = tmp scout = tmp l1 = None if l1 is None else l1.next l2 = None if l2 is None else l2.next if c_flag == 1: scout.next = ListNode(1, None)
return head.next
|
千万别忘记遍历结束还要检查进位标志啊家人们,第一次交我直接漏了一个1没输出,执行示例那里看错了把预期结果看成我的输出我还以为没错TvT
执行用时:56 ms, 在所有 Python3 提交中击败了87.89%的用户
内存消耗:15.1 MB, 在所有 Python3 提交中击败了26.41%的用户
打不过,告辞.jpg
希望本文章能够帮到您~