当前位置: 首页 > news >正文

LeetCode-C#-0002.两数相加

0.声明

该题目来源于LeetCode
如有侵权,立马删除。
解法不唯一,如有新解法可一同讨论。

1.题目

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

2.代码

namespace LeetCode_0002两数相加
{class Program{static void Main(string[] args){var l1 = generateList(new int[] { 1, 5, 7 });var l2 = generateList(new int[] { 9, 9, 2, 9 });printList(l1);printList(l2);LeetCode_AddTwoNum latn = new LeetCode_AddTwoNum();var sum = latn.AddTwoNumbers(l1, l2);printList(sum);var sum1 = latn.AddTwoNumbers_1(l1, l2);printList(sum1);Console.ReadKey();}static ListNode generateList(int[] vals){ListNode start = null;ListNode end = null;for (int i = 0; i < vals.Length; i++){if (start == null)//开头为null时{start = new ListNode(vals[i]);end = start;//移动指针}else{end.next = new ListNode(vals[i]);end = end.next;}}return start;}static void printList(ListNode l){while (l != null){Console.Write($"{l.val}, ");l = l.next;}Console.WriteLine("");}}class LeetCode_AddTwoNum{public ListNode AddTwoNumbers(ListNode l1, ListNode l2){//定义一个节点用来存储新链表的第一个节点ListNode firstNode = new ListNode(0);//定义一个循环的节点ListNode lastnode = firstNode;//进位int val = 0;while (l1 != null || l2 != null || val != 0){int num1, num2;if (l1 == null)num1 = 0;elsenum1 = l1.val;if (l2 == null)num2 = 0;elsenum2 = l2.val;int value = num1 + num2 + val;val = value / 10;value = value % 10;lastnode.next = new ListNode(value);lastnode = lastnode.next;if (l1 == null)l1 = null;elsel1 = l1.next;if (l2 == null)l2 = null;elsel2 = l2.next;}return firstNode.next;}public ListNode AddTwoNumbers_1(ListNode l1, ListNode l2){ListNode head = null, tail = null;int carry = 0;while (l1 != null || l2 != null){int n1 = l1 != null ? l1.val : 0;int n2 = l2 != null ? l2.val : 0;int sum = n1 + n2 + carry;if (head == null){head = tail = new ListNode(sum % 10);}else{tail.next = new ListNode(sum % 10);tail = tail.next;}carry = sum / 10;if (l1 != null){l1 = l1.next;}if (l2 != null){l2 = l2.next;}}if (carry > 0){tail.next = new ListNode(carry);}return head;}}class ListNode{public int val;public ListNode next;public ListNode(int val = 0, ListNode next = null){this.val = val;this.next = next;}}
}

相关文章:

LeetCode-C#-0002.两数相加

0.声明 该题目来源于LeetCode 如有侵权&#xff0c;立马删除。 解法不唯一&#xff0c;如有新解法可一同讨论。 1.题目 0002两数相加 给你两个非空的链表&#xff0c;表示两个非负的整数&#xff0c;它们每位数字都是按照逆序的方式存储的&#xff0c;并且每个节点只能存储一…...

访问修饰符private,default,protected,public访问等级区别

private&#xff1a;private是最严格的访问修饰符&#xff0c;它将成员声明为私有的。私有成员只能在声明它们的类内部访问&#xff0c;其他类无法直接访问私有成员。这样可以确保数据的封装性和安全性。 default&#xff08;默认&#xff09;&#xff1a;如果没有明确指定访问…...

阿里云(Linux)安装Docker教程

首先安装docker&#xff0c;需要找到帮助文档&#xff0c;那肯定是我们的官网&#xff1a; Install Docker Engine on CentOS | Docker Documentation 找到对应的位置&#xff0c;这里是安装在CentOS中&#xff0c;版本需要Ce…...

Linux C编程基础:获取时间

1.前言 对于linux下的编程&#xff0c;无论是用户态还是内核态&#xff0c;时间获取都是经常需要使用到的。以下分别从用户态和内核态整理了几个常用的时间获取接口&#xff0c;供编写代码时快速查阅。 2.用户态获取时间 2.1 clock_gettime() #include <time.h>int c…...

Spring核心注解

1、Bean注解 作用&#xff1a;用于把当前方法的返回值作为bean对象存入spring的ioc容器中位置: 一般出现在方法上面属性: name:用于指定bean的id。当不写时&#xff0c;默认值是当前方法的名称细节&#xff1a;当我们使用注解配置方法时&#xff0c;如果方法有参数&#xff0c;…...

哈希表原理,以及unordered_set/和unordered_map的封装和迭代器的实现

哈希表 unordered系列unordered_set和unordered_map的使用哈希哈希概念哈希冲突哈希函数闭散列开散列哈希表的扩容哈希表源码&#xff08;开散列和闭散列&#xff09; 封装unordered_set/和unordered_map&#xff0c;以及实现迭代器节点定义unordered_set定义unordered_map定义…...

如何把歌曲里的伴奏音乐提取出来,分享几个方法给大家!

对于一首歌&#xff0c;我们都知道&#xff0c;它有两部分组成&#xff1a;背景音乐人声。这两者合在一起&#xff0c;便是我们经常听的歌。部分用户想要直接获取歌曲伴奏&#xff0c;那么可以在UU伴奏网上下载。 操作方法比较简单&#xff0c;直接搜索想要的歌曲名称就可以了…...

区块链产业快速发展 和数集团开启区块链应用新时代

UTONMOS区块链游戏要来了。 就在5月底&#xff0c;UTONMOS品牌所属公司上海和数集团在泰国发布了【神念无界】系列的多款国际版链游&#xff0c;包括【神念无界-源起山海】、【北荒传奇】、【神宠岛】、【神农园】等区块链游戏。 以【神念无界-源起山海】为例&#xff0c;其是…...

初出茅庐的小李博客之常见字符串函数使用

C语言字符数组与字符串数组 在C语言中&#xff0c;字符数组和字符串数组实际上是同一种类型。字符串是由字符组成的字符数组&#xff0c;通常以空字符 ‘\0’ 结尾。C语言中的字符串是一种常见的数据类型。我们可以通过两种方式定义字符数组跟字符串数组 char charArray[10];…...

运筹学工程化流程和常见的运筹学算法分类以及常见软件

文章目录 前言运筹学工程化流程运筹学算法分类运筹学软件参考文献 前言 自2023年初新冠疫情管控放开后&#xff0c;各家公司各类岗位的人员都有被裁的消息传出&#xff0c;但用人市场上运筹学算法岗位却反其道行之&#xff0c;用工出现了激增。可以预见的是数据算法将从传统的…...

JAVA面向对象(三)

第三章 封装与继承 目录 第三章 封装与继承 1.1.封装 1.2.包 1.3.访问权限控制 1.4.static修饰符 1.4.1.成员变量 1.4.2.成员方法 1.4.3.代码块 总结 内容仅供学习交流&#xff0c;如有问题请留言或私信&#xff01;&#xff01;&#xff01;&#xff01;&#xff0…...

前端面试题---跨域处理和异常、错误处理

一.跨域处理 在前端开发中&#xff0c;当我们在浏览器中向不同域名或端口发起请求时&#xff0c;就会遇到跨域请求的限制。为了处理跨域请求&#xff0c;有几种常见的方法 1.JSONP&#xff08;JSON with Padding&#xff09; JSONP是一种利用 <script> 标签可以跨域加载…...

网络安全之反序列化漏洞分析

简介 FastJson 是 alibaba 的一款开源 JSON 解析库&#xff0c;可用于将 Java 对象转换为其 JSON 表示形式&#xff0c;也可以用于将 JSON 字符串转换为等效的 Java 对象分别通过toJSONString和parseObject/parse来实现序列化和反序列化。 使用 对于序列化的方法toJSONStrin…...

19 贝叶斯线性回归

文章目录 19 贝叶斯线性回归19.1 频率派线性回归19.2 Bayesian Method19.2.1 Inference问题19.2.2 Prediction问题 19 贝叶斯线性回归 19.1 频率派线性回归 数据与模型&#xff1a; 样本&#xff1a; { ( x i , y i ) } i 1 N , x i ∈ R p , y i ∈ R p {\lbrace (x_i, y_…...

第七十天学习记录:高等数学:微分(宋浩板书)

微分的定义 基本微分公式与法则 复合函数的微分 微分的几何意义 微分在近似计算中应用 sin(xy) sin(x)cos(y) cos(x)sin(y)可以用三角形的几何图形来进行证明。 假设在一个单位圆上&#xff0c;点A(x,y)的坐标为(x,y)&#xff0c;点B(x’, y’)的坐标为(x’, y’)。则以两点…...

Jmeter

目录 一、jmeter 安装 二、jmeter 介绍 1、jmeter是什么&#xff1f; 2、jmeter 用来做什么&#xff1f; 3、优点 4、缺点 5、jmeter 目录介绍 ①_bin 目录介绍 ② docs 目录 — — 接口文档目录 ③ extras目录 — — 扩展插件目录 ④ lib 目录 — — 所用到的插件目录 ⑤ lic…...

Flutter 学习 之 时间转换工具类

Flutter 学习之时间转换工具类 在 Flutter 应用程序开发中&#xff0c;处理时间戳是非常常见的需求。我们通常需要将时间戳转换为人类可读的日期时间格式。为了实现这一点&#xff0c;我们可以创建一个时间转换工具类。 实现方法 以下是一个简单的时间转换工具类的示例&…...

docker consul

docker consul的容器服务更新与发现 服务注册与发现是微服务架构中不可或缺的重要组件&#xff0c;起始服务都是单节点的&#xff0c;不保障高可用性&#xff0c;也不考虑服务的承载压力&#xff0c;服务之间调用单纯的通过接口访问的&#xff0c;直到后来出现多个节点的分布式…...

全志V3S嵌入式驱动开发(开发环境再升级)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们陆陆续续开发了差不多有10个驱动&#xff0c;涉及到网口、串口、音频和视频等几个方面。但是整个开发的效率还是比较低的。每次开发调试的…...

ChatGPT:人工智能助手的新时代

ChatGPT&#xff1a;人工智能助手的新时代 文章目录 ChatGPT&#xff1a;人工智能助手的新时代引言ChatGPT的原理GPT-3.5架构概述预训练和微调过程生成式对话生成技术 ChatGPT的应用场景智能助理客服机器人虚拟角色教育辅助创意生成个性化推荐 ChatGPT的优势ChatGPT的使用技巧与…...

【面试】二、Java补充知识

JVM中的存储 JVM的五块存储区&#xff1a; 方法区&#xff08;线程共享&#xff09; 方法区用来存储类的各种信息&#xff08;类名、方法信息等&#xff09;、静态变量、常量和编译后的代码也存储在方法区中 方法区中也存在运行时常量池 ​ 常量池中会存放程序运行时生成的各种…...

LISTENER、TNSNAMES和SQLNET配置文件

LISTENER、TNSNAMES和SQLNET配置文件 用户连接验证listener.ora文件配置监听日志local_listener参数 tnsnames.ora文件配置 sqlnet.ora文件配置 用户连接验证 Oracle数据库中用户有三种常见的登录验证方式&#xff1a; 通过操作系统用户验证&#xff1a;必须是在数据库服务器…...

【Leetcode -225.用队列实现栈 -232.用栈实现队列】

Leetcode Leetcode -225.用队列实现栈Leetcode -232.用栈实现队列 Leetcode -225.用队列实现栈 题目&#xff1a;仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 …...

悟道3.0全面开源!LeCun VS Max 智源大会最新演讲

夕小瑶科技说 原创 作者 | 小戏 2023 年智源大会如期召开&#xff01; 这场汇集了 Geoffery Hinton、Yann LeCun、姚期智、Joseph Sifakis、Sam Altman、Russell 等一众几乎是 AI 领域学界业界“半壁江山”的大佬们的学术盛会&#xff0c;聚焦 AI 领域的前沿问题&#xff0c…...

2023蓝桥杯大学A组C++决赛游记+个人题解

Day0 发烧了一晚上没睡着&#xff0c;感觉鼻子被打火机烧烤一样难受&#xff0c;心情烦躁 早上6点起来吃了个早饭&#xff0c;思考能力完全丧失了&#xff0c;开始看此花亭奇谭 看了六集&#xff0c;准备复习数据结构考试&#xff0c;然后秒睡 一睁眼就是下午2点了 挂了个…...

wkhtmltopdf踩坑记录

1. 不支持writing-mode。 需求是文字纵向排列&#xff0c;内容从左到右&#xff0c;本来用的是writing-mode: tb-rl;&#xff0c;插件转pdf后发现失效。 解决方法&#xff1a; 让每一列文字单独用一个div容器包裹&#xff0c;对它的宽度进行限制&#xff0c;控制每一行只能出现…...

贪心算法part2 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

文章目录 122.买卖股票的最佳时机II思路思路代码官方题解困难 55. 跳跃游戏思路思路代码官方题解代码困难 45.跳跃游戏II思路思路代码困难 今日收获 122.买卖股票的最佳时机II 122.买卖股票的最佳时机II 思路 局部最优&#xff1a;将当天价格和前一天比较&#xff0c;价格涨…...

[C++]异常笔记

我不怕练过一万种腿法的对手,就怕将一种腿法 练一万次的对手。 什么是C的异常 在C中&#xff0c;异常处理通常使用try-catch块来实现。try块用于包含可能会抛出异常的代码&#xff0c;而catch块用于捕获并处理异常。当异常被抛出时&#xff0c;程序会跳过try块中未执行…...

浅谈一级机电管道设计中的压力与介质温度

管道设计是工程设计中的一个非常重要的部分&#xff0c;管道的设计需要考虑到许多因素&#xff0c;其中就包括管道设计压力分类和介质温度分类。这两个因素是在设计管道时必须非常严格考虑的&#xff0c; 首先是管道设计压力分类。在管道设计中&#xff0c;根据工作要求和要传输…...

Docker网络模型(八)使用 macvlan 网络

使用 macvlan 网络 一些应用程序&#xff0c;特别是传统的应用程序或监控网络流量的应用程序&#xff0c;期望直接连接到物理网络。在这种情况下&#xff0c;你可以使用 macvlan 网络驱动为每个容器的虚拟网络接口分配一个MAC地址&#xff0c;使其看起来像一个直接连接到物理网…...

衡水做网站推广的公司/有哪些网络推广平台

二进制序列化可以方便快捷的将对象进行持久化或者网络传输&#xff0c;并且体积小、性能高&#xff0c;应用面甚至还要高于json的序列化&#xff1b;开始之前&#xff0c;先来看看dotcore/dotne自带的二进制序列化&#xff1a;C#中对象序列化和反序列化一般是通过BinaryFormatt…...

哈尔滨市营商环境建设监督局网站/北京网

文章目录开启docker-proxydocker-proxy与iptables natdocker-proxy如何工作docker-proxy是否有必要存在相关文章&#xff1a;《Linux 虚拟网络设备 veth-pair》 linux基础 《Linux虚拟网络设备之veth(arp incomplete)》 Docker网络(veth、网桥、host、container、none) docker…...

杭州网站推广平台/最近的重大新闻

2017-全国计算机-408统考-错题、难题总结 选择题数据结构计算机组成原理操作系统计算机网络综合题计算机组成原理-难题选择题 数据结构 T11----错题 错误原因:我看成了可以减少运行的时间,时间最少的。。。就选了B,当时就纳闷了Ⅰ、Ⅱ、Ⅲ不都要顺序找嘛!,没有认真审题…...

用php做网站需要什么软件/东莞免费建站公司

多节阶梯阻抗变换器工程设计的公式推导&#xff0c;仔细看此文&#xff0c;有点烧脑&#xff0c;所以碎片十分钟&#xff0c;收获一丢丢。 现在就来设计一个超宽带多节阶梯阻抗变换器&#xff0c;要求带内纹波符合切比雪夫分布。 其实&#xff0c;此文已经是省去了大量中间公式…...

济南做网站维护的公司/泉州全网营销推广

第一步&#xff1a; 建表 create table t1(x int, y int);  create table t2(x int, y int);  go insert into t1(x,y) values(1,2),(2,3),(3,4),(4,5),(5,6);  insert into t2(x,y) values(1,2),(2,3);  go 第二步&#xff1a; 删除t1表中的相关行 delete a from t1 a…...

自媒体135的网站是多少/济南seo顾问

packageatguigu.senior.day11.java;importorg.junit.Test;import java.io.*;/*** 处理流之一&#xff1a;缓冲流的使用** 1.缓冲流&#xff1a;* BufferedInputStream* BufferedOutputStream* BufferedReader* BufferedWriter** 2.作用&#xff1a;提供流的读取、写入的速度* 提…...