首页 > 其他分享 >力扣---2. 两数相加

力扣---2. 两数相加

时间:2023-01-24 00:33:20浏览次数:47  
标签:--- ListNode val int 相加 next 力扣 l2 l1

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 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]

提示:
    每个链表中的节点数在范围 [1, 100] 内
    0 <= Node.val <= 9
    题目数据保证列表表示的数字不含前导零
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/add-two-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

题目的意思就是让你把两个数相加的每一位存储在一个链表中,只不过这两个数都是以链表形式存储的。

可以利用一个变量来保存相加是否大于9

代码如下:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode root  = new ListNode(0);
        ListNode res = root;
        int flag = 0;
        while (l1 != null || l2 != null || flag != 0) {
            int num1 = l1 == null ? 0 : l1.val;
            int num2 = l2 == null ? 0 : l2.val;
            int tem = num1 + num2 + flag;

            if (tem > 9) {
                flag = tem / 10;
            } else {
                flag = 0;
            }

            res.next = new ListNode(tem % 10);
            res = res.next;

            l1 = l1 == null ? l1 : l1.next;
            l2 = l2 == null ? l2 : l2.next;
        }
        return root.next;
    }
}

运行结果

 

标签:---,ListNode,val,int,相加,next,力扣,l2,l1
From: https://www.cnblogs.com/allWu/p/17065720.html

相关文章

  • [1]-bwapp-文件上传无法保存-问题&解决方案
    一、问题描述1.参考apache2404解决apache2文件配置结构文件无法移动更改权限2.本机环境物理机:windows10虚拟化软件:vmware17虚拟系统:centos7.9docker容器:Do......
  • 2023-01-23 初二
    2023-01-23周一今日可能比较枯燥,就是工作,今天市集人流稍微比昨天少点。想起昨天有个比较有趣的事,就是阿涛让几个围观的小朋友帮他拉客。几个小朋友应该是看上套圈圈的......
  • CS144-Lab1-StreamReassembler
    lab地址:lab1-doc代码实现:lab1-code1.目标TCP一个很重要的特性是可以实现顺序、无差错、不重复和无报文丢失的流传输。在lab0中我们已经实现了一个字节流ByteSt......
  • [ 7--MQ学习 | 青训营笔记]
    这是我参与「第五届青训营」伴学笔记创作活动的第7天概述消息队列(MessageQueue,简称MQ),指保存消息的一个容器,本质是个队列。消息(Message)是指在应用之间传送的数据,消息......
  • 力扣---1221. 分割平衡字符串
    平衡字符串中,'L'和'R'字符的数量是相同的。给你一个平衡字符串s,请你将它分割成尽可能多的子字符串,并满足:   每个子字符串都是平衡字符串。返回可以通过分割得到的......
  • 力扣---2455. 可被三整除的偶数的平均值
    给你一个由正整数组成的整数数组nums,返回其中可被3整除的所有偶数的平均值。注意:n个元素的平均值等于n个元素求和再除以n,结果向下取整到最接近的整数。示例1......
  • STC51 STC15开发工控网关-工控主机-02-开关量采集原理与设计
    开关量采集电路适用于对开关量信号进行采集,如循环泵的状态信号,进出仓阀门的开关状态灯开关量。污染源在线检测仪可采集16路开关信号,输入24VDC;设定当输入范围为18~24VDC时,认......
  • day08-AOP-01
    AOP1.官方文档AOP讲解:下载的spring文件-->spring-framework-5.3.8/docs/reference/html/core.html#aopAOPAPIs:下载的spring文件-->spring-framework-5.3.8/docs/refere......
  • 力扣每日一题2023.1.223---2303. 计算应缴税款总额
    给你一个下标从0开始的二维整数数组brackets,其中brackets[i]=[upperi,percenti],表示第i个税级的上限是upperi,征收的税率为percenti。税级按上限从低到高排......
  • 最高法-民法典对借款合同无约定情况下的先息后本解释方式不适用于建设工程合同
    (2021)最高法民终1263号  中建二局第一建筑工程有限公司、苏州新苏企业经济发展有限公司建设工程施工合同纠纷民事二审民事判决书上诉人认为:(一)一审判决关于利息计算基数......