LeetCode2 两数相加

news/2024/11/27 16:17:30/文章来源:https://www.cnblogs.com/dwhere/p/18572545

LeetCode2 两数相加

题目链接:LeetCode2

描述

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

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

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

img

示例

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

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

思路

循环即遍历链表 l1 和 l2,每次把两个节点值 l1.val, l2.val 与进位值 carry 相加,除以 10 的余数即为当前节点需要保存的数位,除以 10 的商即为新的进位值。

代码

class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode dummy = new ListNode(-1);ListNode cur = dummy;int carry = 0;int sum = 0;while(l1 != null || l2!=null || carry != 0){int a = l1 == null ? 0 : l1.val;int b = l2 == null ? 0 : l2.val;sum = a + b + carry;ListNode temp = new ListNode(sum%10);carry = sum/10;cur.next = temp;cur = cur.next;if(l1 != null) l1 = l1.next;if(l2 != null) l2 = l2.next;}return dummy.next;}
}

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

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

相关文章

TIA使用SCL做交通信号灯带倒计时闪烁控制

继续练习SCL编程,按照前面第2个练习的要求,使用SCL实现红绿黄等倒计时还有5秒进行闪烁。 前面程序新建一个SCL编程的FB,建立下面的变量写下面的SCL程序 IF #stopbtn = 1 THEN #CurrentState := 4;END_IF;IF #startbrn = 1 THEN #CurrentState := 1;END_IF;(*红灯控制*…

CudaSPONGE高性能GPU分子模拟

本文简单介绍了一下CudaSPONGE高性能分子动力学模拟软件,其基于原生的CUDA C开发,具有极高的模拟效率。结合前处理工具Xponge用于生成和处理输入文件,可以很好的兼容目前常用的很多力场形式。技术背景 CudaSPONGE是基于CUDA C开发的一款纯GPU分子动力学模拟软件,具有模块化…

杭州数据恢复之杂牌U优盘损坏电脑不识别拆解芯片怎么恢复数据

这是一个32G的杂牌U优盘,突发损坏无法正常识别。U盘内存卡SSD固态硬盘等这类Flash存储介质损坏很多都是突发的,没有故障征兆。U盘经过检测能正常加电,没有短路,通过程序能读取到是慧荣的主控方案。这是个非常典型的固件损坏案例,需要读取芯片进行恢复,首先我们把存储芯片…

摄像机实时接入分析平台视频分析网关拍照检测视频监控系统中人脸识别技术的具体应用建议

在智能化监控系统的构建中,人脸识别技术的应用日益广泛,尤其在安全监控、人流管理等方面发挥着重要作用。为了确保人脸识别系统的有效性和准确性,必须对环境、行人以及摄像头的设置有明确的要求和建议。本文将详细介绍人脸识别系统在实际应用中的环境和安装要求,以及摄像机…

线性时间选择[C++,附代码]

0 引言 问题:从无序数组中选择第k小的元素。 1 随机选择法 1.1 算法步骤:选择基准元素:随机选择一个元素作为基准。分区:对数组进行分区,使得基准元素左边的所有元素都小于它,右边的所有元素都大于它。分区过程完成后,我们得到了基准元素在数组中的位置pivotIndex。递归…

11.27 模拟赛

复盘 T1 一眼不会。模拟样例的时候好像得到了一个对于每次询问 \(\mathcal O(n)\) 做的暴力算法。不太清楚。 画了点图。差不多得到一点想法。发现用 set 维护连通块,总复杂度 \(\mathcal O(n \log^2 n)\),1e6 肯定过不去。但应该能过 80。写写试试。 然后写了一坨。实际上这…

fastadmin更改上传附件数据库为附件ID

1.后台返回值加入ID application/admin/controller/Ajax.php文件中upload()方法,2处返回值加上附件ID 这样上传文件后,返回值便会多出file_id字段 2.比如添加商品页面 上传商品图,得到file_id;

联想拯救者 Y7000P 2019 PG0 黑苹果

帮小老弟把Y7000P 2019 PG0笔记本安装了黑苹果系统,参考了GITHUB上的一些资料,并对OC EFI进行调整,以兼容macOS15.x参考链接:https://github.com/xiaoMGitHub/LEGION_Y7000Series_Hackintosh/tree/master

Arch linux下把chromeOS安装至btrfs子卷

旧的ChromeOS单独划分一个ext4分区安装,划分的是ChromeOS可用的最大空间,当存储未用满时,这个ChromeOS独占的分区就有很大的浪费。最近Brunch的作者发布了linux安装工具Linuxloops,可以把ChromeOS安装到Btrfs子卷。Linuxloops采用了图形安装界面,不需要提前下载Brunch及Ch…

ZW3DC++调用C#的DLL

C#: using System;using System.Collections.Generic;using System.Text; namespace TestWinform{ public class Class1 {public void openForm() { Form1 form = new Form1(); form.ShowDialog(); }}}C++: #using "C:\\Test…

Windows 10应用商店找回方法

应用商店(Microsoft Store)作为Windows 10系统的重要的组成部分,为用户提供了一个便捷的平台来浏览、下载和安装各类应用程序。 通过Windows PowerShell重新安装应用商店 1:以管理员身份运行Windows PowerShell在Windows 10的任务栏搜索框中输入“Windows PowerShell”。 右…

超详细!Apache Maven下载安装使用教程

前言 在当今的软件开发领域,尤其是基于 Java 平台的项目开发过程中,拥有一款高效、便捷的项目管理工具至关重要。本篇文章将聚焦于在 Windows 10 系统下,为大家详细介绍 Apache Maven 的下载与安装教程,帮助大家轻松上手这款功能强大的工具,更好地管理和构建 Java 项目。 …