给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示,,,

2023-11-19

题目介绍

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

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

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807

解题思路

基本思想就是建立一个新的链表,专门用来存储两个链表对应数字的和,并判断是否大于等于10,是否需要进位,详细思路请见源代码。

源代码

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) 
    {
        int sum=0;
        ListNode* node=new ListNode(0);
        ListNode* result=node;
        while(l1!=NULL||l2!=NULL)
        {
            if(l1!=NULL)
            {
                sum=sum+l1->val;
                l1=l1->next;
            }
            if(l2!=NULL)
            {
                sum=sum+l2->val;
                l2=l2->next;
            }
            ListNode* temp=new ListNode(sum%10);
            node->next=temp;
            node=node->next;
            sum=sum/10;
            
        }
        if(sum>0)
        {
            ListNode* lastnode=new ListNode(sum);
            node->next=lastnode;
        }
        return result->next;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示,,, 的相关文章

  • 软件工程java毕设项目 SSM的毕业设计管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 2 1 系统开发流程 3 3 2 教师登录流程 3 3 3 系统操作流程 3 3 系统结构设计 4 项目获取 1 项目简介 Hi 各位
  • docker宿主机访问容器_Docker容器与宿主机器通过IP内外通讯

    例如一个如下场景 在Docker环境下面运行了一个含有PHP环境的Docker容器 container 容器名称为php1 同时在宿主机 真实机器 上面有一个MySQL服务器 如何来通过 容器内部的PHP程序来访问外部的MySQL呢 原理
  • 系统架构演变详解

    文章目录 1 单体架构 2 垂直架构 3 分布式架构 4 SOA架构 5 微服务 6 集群 分布式和微服务的区别 1 单体架构 在学习 Dubbo 之后 我们先了解一下系统架构的演变过程 随着用户量的不断增加 业务功能的扩展逐步 系统架构变

随机推荐

  • Qt 学习之路:深入 Qt5 信号槽新语法

    在前面的章节 信号槽和自定义信号槽 中 我们详细介绍了有关 Qt 5 的信号槽新语法 由于这次改动很大 许多以前看起来不是问题的问题接踵而来 因此 我们用单独的一章重新介绍一些 Qt 5 的信号槽新语法 基本用法 Qt 5 引入了信号槽的新
  • 【沐风老师】3DMAX一款神级一键四边面重拓扑插件Quad Remesher使用教程

    Quad Remesher是一款神级一键四边面重新拓扑插件 不需要太多介绍 看下面左右图像对比就知道了 适用版本 3dmax2016 2022 不仅限于此范围 其他自行测试 安装方法 直接拖动Quad Remesher插件脚本文件包 解压后
  • Flutter 2进阶(六):回调函数的使用

    我看了一下 关于 Flutter 的回调和 Android 中的有点区别 所以记录一下 下面是定义了一个有两个参数的回调 定义回调 typedef MyCallBack Function String val1 String val2 回调
  • 程序删除自己,改写自己

    程序删除自己改写自己 有这样一个问题 让程序本身能限制它的运行次数 比如只能运行5次 目前使用的方法大都是通过读取和改写外部文件的数据来判断运行的次数 比如增加配置文件 inf 读写系统注册表 或增加其它类似文件 也就是说 程序运行要依靠外
  • linux shell java jar 使用依赖包时classpath的设置问题

    在linux下通过命令行或shell脚本执行jar包时 如果该jar包没有引用外部jar包 则非常容易 只需使用如下命令就可以实现 java jar Test jar 注意 如果在打包jar文件时 没有指定Main入口所在的类 则需要在后面
  • GD32F310 (一) LED 点灯

    作者 小飞虫科技 淘宝 首页 小虫飞科技 淘宝网 taobao com 开发板 GD32F3X0系列 使用引脚为 PB4 初始化LED void LED Init void enable the led clock rcu periph c
  • GDB断点失效

    GDB还是很深的学问 以前一直深知高并发程序调试的难度 还是要找时间去学习一下 最近多线程的问题比较多 GDB用着总是怪怪的 水还真是深呐 info thread只显示一个线程 但实际上我的线程数应该是很多的 不知道为什么其他线程都看不到
  • 刷脸支付让我们不得不感叹科技的力量

    普通消费者来说 面部识别支付提高了购物效率 大大提高了智能零售的整体体验 当消费者在超市购物时 微信刷脸支付服务商只需在一个特殊的自助结账渠道上滑动镜头即可 整个支付过程只需十秒钟以上 整个过程不需要使用手机 我们不得不感叹科技的力量 人脸
  • c语言实例--ip地址形式输出

    问题 输入一个32位的二进制的数 每8位转化为一个十进制的书 将其转化为十进制的ip地址 思路先行 第一步 总体思路 输入二进制数 然后每八个为一个小单位分开 形成一个对应的十进制数 最终形成四个ip数 第二步 分别定义存放ip的数组 存放
  • MOS管(场效应管)工作原理,及反向导通应用

    MOS管的工作原理和反向导通应用 一 电子和空穴 二 MOS管的符号 三 MOS管的结构 四 MOS管的工作原理 五 关于体二极管 六 关于空穴 七 关于MOS反向导通 一 电子和空穴 半导体中有两种载流子 自由电子和空穴 自由电子就是指不
  • 8080端口被占用_winserver服务器端口被占用时如何快速定位到是哪个程序占用?...

    概述 有同事最近遇到了一个问题 在运行某个程序的时候 总提示说程序端口被占用 不能运行 那么 在winserver下怎么知道端口是被哪个程序占用了呢 下面我们一起来看看具体内容 1 Windows查看所有的端口 点击电脑左下角的开始 然后选
  • linux awk数组操作详细介绍

    用awk进行文本处理 少不了就是它的数组处理 那么awk数组有那些特点 一般常见运算又会怎么样呢 我们先看下下面的一些介绍 结合例子我们会讲解下它的不同之处 在 awk 中数组叫做关联数组 associative arrays 因为下标记可
  • win10 禁止自动更新(修改注册表)

    如果需要在win10上做开发 禁止更新可能带来很多麻烦 参考 https blog csdn net qq 40833810 article details 89045074 depth 1 utm source distribute pc
  • sql 2008服务器响应慢,SQL Server 2008中使用链接服务器的查询速度缓慢。我可以看什么?...

    我重新写你的查询 WITH ledger detail AS SELECT pld fiscal year pld financial deptid AS DEPTID pld fund code pld class fld AS CLAS
  • androd源码编译

    下载完android 7 0 0 r1后 用du sh 查看一下 大概111G 再看看各个目录的情况 下面开始源码的编译 1 source build envsetup sh 编译环境变量设置 包括一些参数和方法 2 lunch aosp
  • JDBC的实现步骤

    一 JDBC的实现步骤 1 加载驱动程序 Class forName DriverClass 2 使用驱动管理类 获得数据库连接 Connection conn DriverManager getConnection URL USER PA
  • Python自动化测试之自定义日志及其封装

    前言 在软件测试的日常工作中 日志是个非常重要的模块 对于测试来说 日志的作用主要有以下四点 1 调试程序 2 了解系统程序运行的情况是否正常 3 系统城西运行故障分析和问题定位 4 用来做用户行为分析和数据统计 因此在编写自动化测试脚本和
  • 【GoLang】go入门:go语言执行过程分析 && 常见数据类型(基本数据类型)

    1 go语言执行过程分析 1 执行流程分析 通过 go build 进行编译 运行上一步生成的可执行文件 通过 go run 命令直接运行 2 上述两种执行流程的区别 在编译时 编译器会将程序运行时依赖的库文件包含在可执行文件中 所以可执行
  • Linux命令学习之nslookup

    比如我想查看 一个IP地址的域名的话 可以用nslookup这个命令 test test nslookup ip address 参考 http roclinux cn p 2441 nslookup何许人 nslookup命令 是Linu
  • 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示,,,

    题目介绍 给出两个 非空 的链表用来表示两个非负的整数 其中 它们各自的位数是按照 逆序 的方式存储的 并且它们的每个节点只能存储 一位 数字 如果 我们将这两个数相加起来 则会返回一个新的链表来表示它们的和 您可以假设除了数字 0 之外