24.两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

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

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807.

示例 2:

输入:l1 = [0], l2 = [0]
输出:[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:[8,9,9,9,0,0,0,1]

思路:定义sum,以及新链表,while循环中,从左往右对应结点相加的结果给sum,然后sum%10得到个位也就是新链表的第一位,sum/10作为进位的值也就是新的sum,放到下一次相加中。

while循环的条件是l1 || l2 || sum ,只要这仨有一个不为0就继续循环,把相加的结果添加到新链表中。

l1的最后一个数9(l1)+1(sum)=10 写0 进1(sum) ,此时l1、l2都是null,但是sum是1,所以还要进入循环,把sum放到新链表的下一个结点中。

class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        ListNode* dummy=new ListNode(0),*cur=dummy;
        int sum=0;
        while(l1||l2||sum) //循环条件别忘了sum,sum不为0时也能进入循环。
        {   
            if(l1)
            {
                sum+=l1->val;
                l1=l1->next;
            }
            if(l2)
            {
                sum+=l2->val;
                l2=l2->next;
            }
            cur->next=new ListNode(sum%10);
            cur=cur->next;
            sum=sum/10; //进位值,参与下一轮循环的相加中。

        }
        return dummy->next;

    }
};

 

相关推荐

  1. LeetCode 29. 相除

    2024-03-21 22:52:02       64 阅读
  2. Leetcode29:相除

    2024-03-21 22:52:02       45 阅读
  3. leetcode_29.相除

    2024-03-21 22:52:02       31 阅读
  4. 29. 相除 —— LeetCode (python)

    2024-03-21 22:52:02       39 阅读
  5. 算法-相加

    2024-03-21 22:52:02       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-21 22:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-21 22:52:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-21 22:52:02       82 阅读
  4. Python语言-面向对象

    2024-03-21 22:52:02       91 阅读

热门阅读

  1. C语言打印当前时间

    2024-03-21 22:52:02       45 阅读
  2. linux开机启动设置方法

    2024-03-21 22:52:02       47 阅读
  3. 二、Eureka注册中心

    2024-03-21 22:52:02       44 阅读
  4. C语言—用题目辨析gets()与scanf()

    2024-03-21 22:52:02       38 阅读
  5. vue01

    2024-03-21 22:52:02       47 阅读
  6. SystemServer的面试题目

    2024-03-21 22:52:02       39 阅读