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

[力扣 Hot100]Day28 两数相加

题目描述

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

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

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

出处

思路

逆序两数相加也是逆序返回,可以用一个进位位来模拟(进位位只有可能是0或1)。要考虑谁长谁短的问题,最终结果可能需要在最长的基础上再新加一位(新建一个尾结点)。

代码

class Solution {
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode* p=l1;ListNode* q=l2;ListNode* res=l1;int num=0,sum=0;while(p->next&&q->next){sum=p->val+q->val+num;if(sum<10){p->val=sum;num=0;}else{p->val=sum-10;num=1;//进位}p=p->next;q=q->next;}sum=p->val+q->val+num;if(sum<10){p->val=sum;num=0;}else{p->val=sum-10;num=1;//进位}if(!p->next&&!q->next){//一样长if(num){p->next=new ListNode(1);return res;}}if(q->next&&!p->next){//l2比l1长p->next=q->next;}p=p->next;while(p){//l1比l2长sum=p->val+num;if(sum<10){p->val=sum;num=0;}else{p->val=sum-10;num=1;//进位}q=p;p=p->next;}if(num){q->next=new ListNode(1);}return res;}
};

相关文章:

  • 使用 C++23 从零实现 RISC-V 模拟器(1):最简CPU
  • Java学习第十六节之类与对象的创建和构造器详解
  • 1.初识Tauri
  • ES实战-聚集
  • Rust基础拾遗--辅助功能
  • 惠普打印机驱动安装
  • 项目第一次git commit后如何撤销
  • JS进阶——垃圾回收机制以及算法
  • 【数学建模】【2024年】【第40届】【MCM/ICM】【B题 搜寻潜水器】【解题思路】
  • Rust 学习笔记 - 变量声明与使用
  • 用C语言列出Linux或Unix上的网络适配器
  • 5.9 BCC工具之nodejs_http_server.py简介
  • [前端开发] 常见的 HTML CSS JavaScript 事件
  • aiofiles:解锁异步文件操作的神器
  • Unity类银河恶魔城学习记录7-6 P72 Bouncy sword源代码
  • ES6指北【2】—— 箭头函数
  • HTTP中GET与POST的区别 99%的错误认识
  • JavaScript 基础知识 - 入门篇(一)
  • MobX
  • passportjs 源码分析
  • PHP变量
  • Redis 中的布隆过滤器
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Sublime text 3 3103 注册码
  • swift基础之_对象 实例方法 对象方法。
  • Vue组件定义
  • 给第三方使用接口的 URL 签名实现
  • 使用parted解决大于2T的磁盘分区
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 函数计算新功能-----支持C#函数
  • ​​​​​​​​​​​​​​Γ函数
  • ​如何防止网络攻击?
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (1)(1.9) MSP (version 4.2)
  • (1)bark-ml
  • (11)MATLAB PCA+SVM 人脸识别
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (js)循环条件满足时终止循环
  • (JS基础)String 类型
  • (Python) SOAP Web Service (HTTP POST)
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (TOJ2804)Even? Odd?
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (小白学Java)Java简介和基本配置
  • (转载)PyTorch代码规范最佳实践和样式指南
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET命令行(CLI)常用命令
  • .NET轻量级ORM组件Dapper葵花宝典
  • .NET与 java通用的3DES加密解密方法
  • .net知识和学习方法系列(二十一)CLR-枚举
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d