zoukankan      html  css  js  c++  java
  • 每日一题力扣445 链表转数组相加两数求和

    给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。

    你可以假设除了数字 0 之外,这两个数字都不会以零开头。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/add-two-numbers-ii
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    class Solution:
        def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
            if l1 == None: return l2
            if l2 == None: return l1
    
            def listnode2num(node):  # 将链表转换为数字(int)
                res = 0
                while node:
                    res = res * 10 + node.val
                    node = node.next
                return res
    
            result = listnode2num(l1) + listnode2num(l2)
            dummy_node = ListNode(0)  # 创建dummynode
            start_node = dummy_node
            for i in str(result):  # 讲结果相加结果转换为字符,然后逐位取出
                dummy_node.next = ListNode(int(i))  # 将取出的字符逐位放入新建的链表
                dummy_node = dummy_node.next#移动游标
            return start_node.next
  • 相关阅读:
    CCCC 2020 酱油记
    CCPC 2020 威海 滚粗记
    IEEExtreme 2020 酱油记
    CCSP 2020 酱油记
    ICPC 陕西省赛 2020 游记
    CCPC 网络赛 2020 自闭记
    CSP 第20次认证 酱油记
    CSP-S 2019 酱油记
    NOI2019 退役记
    树链剖分入门
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14532417.html
Copyright © 2011-2022 走看看