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;}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/761000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring Cloud】微服务注册中心的工作原理

SueWakeup 个人主页:SueWakeup 系列专栏:学习技术栈 个性签名:人生乏味啊,我欲令之光怪陆离 本文封面由 凯楠📷 友情提供! 目录 前言 1. 注册中心的主要作用 2. 常见的注册中心 3. Nacos 服务注册和发…

面试真经(运维工程师)

1.熟悉的排序算法有哪些,它们的时间空间复杂度如何? 排序算法主要分为内部排序和外部排序。内部排序指的是数据记录在内存中进行排序,而外部排序则适用于排序的数据量很大,一次不能容纳全部排序记录的情况,需要在排序过程中访问…

关于VMware Workstation Pro无法与Windows互相进行复制粘贴的解决方案

说明:要实现Windows在wmware虚拟机上实现复制粘贴需要在虚拟机上下载 VMware Tools 工具。 1.查看虚拟机是否下载了VMware Tools工具。(下载了vMware Tools 会变成灰色的) 2.要是成功安装的话,你在去改一下这里。 设置完到这里理…

GOF23种设计模式

GOF(Gang of Four)设计模式是指《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)这本书中介绍的23种经典设计模式。这些设计模式被分为三大类:创建…

【面试题】HashMap为什么可以插入null而Hashtable就不可以(源码分析)

首先hashmap可以插入null值,但是hashtable和hashcurrentHashmap是不支持的;这是因为在 hashmap对插入key为null进行了特殊处理,当插入的值为null的时候会将哈希值设置为0 但是hashtable会直接抛出异常: 并且hashmap是线程不…

笔记:Mysql 主从搭建

主库 创建用户并授权 create user slave identified with mysql_native_password by 123456 GRANT REPLICATION SLAVE ON *.* to slave%; FLUSH PRIVILEGES;主库配置文件 /etc/my.cnf #日志路径及文件名,目录要是mysql有权限写入 log-bin/var/lib/mysql/binlog …

什么是索引及其优缺点

1.1 什么是索引 索引是数据库中用于提高检索性能的排好序的数据结构。它类似于书籍的目录,通过建立特定的数据结构将某个列或多个列的值与它们在数据库中的行关联起来,以加快查询速度。 1.2 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引…

IT廉连看——职场经验——简历里:兴趣爱好怎么写?

你可能觉得,这有啥可讲的嘛?别小看它。一个经验丰富的面试官,能从这个环节一窥你的真实个性和能力。 遗憾的是,大部分人都是随便填的,比如万年不变的读书、看电影之类,这其实浪费了一次强化能力优势的机会…

流畅的 Python 第二版(GPT 重译)(七)

第十三章:接口、协议和 ABCs 针对接口编程,而不是实现。 Gamma、Helm、Johnson、Vlissides,《面向对象设计的第一原则》 面向对象编程关乎接口。在 Python 中理解类型的最佳方法是了解它提供的方法——即其接口——如 “类型由支持的操作定义…

openssl3.2 - exp - openssl speed test

文章目录 openssl3.2 - exp - openssl speed test概述笔记表面上能列出的算法集合没列出的算法, 有的也支持不支持的算法的例子直接提示算法不支持算法的属性找不到到底哪些算法才是可以测试的算法?那看看哪些算法是支持的?包含支持的算法的名称数组在算法失败的提示处, 将支…

【一起学Rust | 基础篇】rust线程与并发

文章目录 前言一、创建线程二、mpsc多生产者单消费者模型1.创建一个简单的模型2.分批发送数据3. 使用clone来产生多个生产者 三、共享状态:互斥锁1. 创建一个简单的锁2. 使用互斥锁解决引用问题 前言 并发编程(Concurrent programming)&#…

【oss】阿里云oss服务器模拟

文章目录 1 测试服务器搭建2 go sdk demo编写2.1 本地文件上传至oss2.2 oss文件下载至本地 3 Reference 1 测试服务器搭建 ruby环境 sudo apt-get update sudo apt-get install ruby ruby --version依赖 sudo gem install thor builder拉取项目 https://github.com/aliyun/o…

未来已来?国内10家AI大模型盘点(附体验网址)

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、阿里云——通义千问2、科大讯飞——星火大模…

Unity类银河恶魔城学习记录11-3 p105 Inventory UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_itemSlot.cs using System.Collections; using System.Collections.Gen…

C语言打印当前时间

#include <time.h> void print_current_time(char* func_name) { // 获取当前的时间 time_t current_time; time(&current_time); // 将时间转换为本地时间格式 struct tm *local_time localtime(&current_time); // 打印当前的时间 …

从初学者到专家:Java的Lambda表达式完整指南

一.Lambda的概念 概念&#xff1a;Lambda表达式是Java 8引入的一项重要功能&#xff0c;它允许我们以更简洁和灵活的方式编写代码。可以把Lambda表达式看作是一种更方便的匿名函数&#xff0c;可以像数据一样传递和使用。 使用Lambda表达式可以让我们写出更短、更易读的代码。…

Linux:ssh多台设备快速访问

目录 一、背景二、技巧1&#xff09;技巧一&#xff1a;“跳过”中间堡垒机2&#xff09;技巧二&#xff1a;反向访问3&#xff09;技巧三&#xff1a;端口转发4&#xff09;技巧四&#xff1a;命令后台运行 一、背景 由于网络或安全的原因&#xff0c;需要通过跳转机&#xf…

C++ —— 内存管理

目录 1. C内存分布 2. C 内存管理方式 2.1 new 和 delete 操作内置类型 2.2 new 和 delete 操作自定义类型 3. operator new与operator delete函数 4. new和delete的实现原理 5. malloc/free 和 new/delete 的区别 1. C内存分布 首先看一段代码&#xff1a; int globalV…

分布式训练遇到问题:NCCL通信相关问题

常见问题: torchrun前面加NCCL_DEBUG=INFO可以查看相关nccl相关错误日志 NCCL_DEBUG=INFO torchrun --nnodes=2 --nproc_per_node=1 --node_rank=0 --master_addr="10.***0.

用Python的turtle库绘制皮卡丘

turtle库的简介 turtle(海龟)库是turtle绘图体系的python实现&#xff0c;turtle库是一种标准库&#xff0c;是python自带的。 turtle(海龟)是一种真实的存在&#xff0c;有一个海龟在窗口的正中心&#xff0c;在画布上游走&#xff0c;走过的轨迹形成了绘制的图形&#xff0…