不一样维度的网站,网站建设php有哪些,wordpress月亮主题,网站建设违约责任一、问题描述
给你两个 非空 的链表#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的#xff0c;并且每个节点只能存储 一位 数字。
请你将两个数相加#xff0c;并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外#xff0c;这两个…一、问题描述
给你两个 非空 的链表表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的并且每个节点只能存储 一位 数字。
请你将两个数相加并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外这两个数都不会以 0 开头。 from typing import Optional
# Definition for singly-linked list.
class ListNode:def __init__(self, val0, nextNone):self.val valself.next next
class Solution:def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) - Optional[ListNode]:cur dummy ListNode() # 哨兵节点carry 0 # 进位while l1 or l2 or carry: # 有一个不是空节点或者还有进位就继续迭代if l1:carry l1.val # 节点值和进位加在一起l1 l1.next # 下一个节点if l2:carry l2.val # 节点值和进位加在一起l2 l2.next # 下一个节点cur.next ListNode(carry % 10) # 每个节点保存一个数位carry // 10 # 新的进位cur cur.next # 下一个节点#return dummy.next # 哨兵节点的下一个节点就是头节点return dummy.next
def creat_tail(li):head ListNode(li[0])tail headfor element in li[1:]:node ListNode(element)tail.next nodetail nodereturn headdef print_link(lk):while lk:print(lk.item, end,)lk lk.nextl1 creat_tail([2,4,3])
l2 creat_tail([5,6,4])
S Solution()
def printList(l):while l:print(l.val, end ,)l l.nextprintList(S.addTwoNumbers(l1,l2))
二、结果展示
7,0,8,