【刷题笔记8.9】LeetCode题目:两数相加

LeetCode题目2:两数相加

题目及描述

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

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

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
在这里插入图片描述

分析

在这里插入图片描述

具体代码如下

public ListNode addTwo(ListNode l1, ListNode l2) {//创建一个result节点用于存储返回结果(作为返回结果的头结点不动)//创建一个current节点用于作为返回结果的移动指针ListNode result = null;ListNode current = null;//total为l1 和 l2 两条链表相加后需要进位的数int total = 0;// 如果l1和l2两条链表相加后需要进位,remainder变量为个位数的值// 如果l1和l2两条链表相加后不需要进位,remainder为两数相加后的值int remainder = 0;//只要有一条链表不为空就进行遍历while(l1 != null || l2 != null) {int num1 = l1 != null ? l1.value : 0;int num2 = l2 != null ? l2.value : 0;// 定义sum为两数相加后再与进位数相加后的值int sum = num1 + num2 + total;// 对两数相加的结果进行整除,取出进位的值total = sum / 10;// 对两数相加的结果对10进行取余,取出不需要进位的值remainder = sum % 10;// 将当前不需要进位的值赋值给下一个节点要存储的值if (result == null) {result = current = new ListNode(remainder);} else {current.next = new ListNode(remainder);current = current.next;}// 如果l1 和 l2 当前不为null, 则将l1和l2节点同时向后移动if (l1 != null) {l1 = l1.next;}if (l2 != null) {l2 = l2.next;}}//最后结尾这块需要注意,如果最后还是有进位的话需要创建一个total为值的节点,并连接在链表上if (total > 0) {current.next = new ListNode(total);}return current;}

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

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

相关文章

商城-学习整理-基础-商品服务API-属性分组(七)

目录 一、创建系统菜单二、开发属性分组1、将三级分类功能抽取出来2、编写后端代码3、属性分组新增功能4、属性分组修改回显功能 三、品牌管理1、分页显示有点问题,使用MyBatis-Plus有点问题,需要使用分页插件,给容器中放一个2、修改模糊查询…

支付整体架构

5.4 支付的技术架构 架构即未来,只有建立在技术架构设计良好的体系上,支付机构才能有美好的未来。如果支付的技术体系在架构上存在问题,那么就没有办法实现高可用性、高安全性、高效率和水平可扩展性。 总结多年来在海内外支付机构主持和参与…

Fortinet安全专家问答实录|如何防护暴力破解、撞库攻击

黑客攻防,一个看似神秘,但却必不可缺的领域。近期,全球网络与安全融合领域领导者Fortinet(Nasdaq:FTNT),开启了Fortinet DEMO DAY系列实战攻防演练线上直播,让人人都能零距离观摩黑客…

回顾 OWASP 机器学习十大风险

日复一日,越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式,可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力,包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…

【C++】开源:ceres和g2o非线性优化库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍ceres和g2o非线性优化库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&…

文件传输软件的市场现状和未来趋势

文件传输软件是一种能够在不同计算机之间高效、便捷、安全地传送各种类型的文件的应用软件。它是计算机领域中的一项重要技术,涉及到网络通信、数据加密、文件管理等多个方面。随着互联网和移动互联网的发展,文件传输软件的市场需求也日益增大&#xff0…

2.5D游戏是如何做出来的呢,2.5D游戏快速制作教程

前言 【Unity实战篇 】 | 如何制作一款2.5D游戏,2.5D游戏制作案例一、2.5D 游戏概念二、绘制地图三、添加玩家动画和移动等操作四、视角配置4.1 调整摄像机与场景对象的角度4.2 增加镜头旋转功能 五、游戏效果展示 总结 前言 玩过游戏的朋友都知道,市面…

uni-app 封装api请求

前端封装api请求 前端封装 API 请求可以提高代码的可维护性和重用性,同时使得 API 调用更加简洁和易用。 下面是一种常见的前端封装 API 请求的方式: 创建一个 API 封装模块或类:可以使用 JavaScript 或 TypeScript 创建一个独立的模块或类来…

Freemarker:生成HTML文本文件

前置工作参考: Freemarker:基本使用_moreCalm的博客-CSDN博客 1、修改application.yml配置文件 server:port: 8881 #服务端口 spring:application:name: freemarker-demo #指定服务名freemarker:cache: false #关闭模板缓存,方便测试settin…

Profibus DP主站转Modbus TCP网关profibus主站模拟软件

捷米JM-DPM-TCP网关。这款产品在Profibus总线侧实现了主站功能,在以太网侧实现了ModbusTcp服务器功能,为我们的工业自动化网络带来了全新的可能。 捷米JM-DPM-TCP网关是如何实现这些功能的呢?首先,让我们来看看它的Profibus总线侧…

文件或目录损坏且无法读取

如上图报错,我们直接用cmd命令输入【CHKDSK C: /F】然后回车 电脑重启后可以了,希望能帮助各位小伙伴

架构训练营学习笔记:5-3接口高可用

序 架构决定系统质量上限,代码决定系统质量下限,本节课串一下常见应对措施的框架,细节不太多,侧重对于技术本质有深入了解。 接口高可用整体框架 雪崩效应:请求量超过系统处理能力后导致系统性能螺旋快速下降 链式…