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

力扣 中等 445.两数相加 II

文章目录

  • 题目介绍
  • 题解

题目介绍

在这里插入图片描述

题解

首先反转两个链表,再调用 2. 两数相加 链接的代码,得到链表,最后将其翻转即可。

class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {l1 = reverseList(l1);l2 = reverseList(l2); // l1 和 l2 反转后,就变成【2. 两数相加】了ListNode l3 = addTwo(l1, l2);return reverseList(l3);}// 翻转链表private ListNode reverseList(ListNode head) {ListNode pre = null;ListNode cur = head;while (cur != null) {ListNode nxt = cur.next;cur.next = pre;pre = cur;cur = nxt;}return pre;}private ListNode addTwo(ListNode l1, ListNode l2) {ListNode dummy = new ListNode(); // 哨兵节点ListNode cur = dummy;int carry = 0; // 进位while (l1 != null || l2 != null || carry != 0) { // 有一个不是空节点,或者还有进位,就继续迭代if (l1 != null) carry += l1.val; // 节点值和进位加在一起if (l2 != null) carry += l2.val; // 节点值和进位加在一起cur = cur.next = new ListNode(carry % 10); // 每个节点保存一个数位carry /= 10; // 新的进位if (l1 != null) l1 = l1.next; // 下一个节点if (l2 != null) l2 = l2.next; // 下一个节点}return dummy.next; // 哨兵节点的下一个节点就是头节点}
}
http://www.lryc.cn/news/446635.html

相关文章:

  • 华为云徐峰:AI赋能应用现代化,加速软件生产力跃升
  • C发送邮件技巧:如何批量发送个性化邮件?
  • 基于python+spark的外卖餐饮数据分析系统设计与实现(含论文)-Spark毕业设计选题推荐
  • 权限维持——Linux
  • 申请SSL证书闭坑方法
  • linux 下域名解析错误
  • 基于单片机的角度、水位、温度、辅助热源、电机仿真
  • 泛函分析精解【1】
  • 大数据毕业设计选题推荐-租房数据分析系统-Hive-Hadoop-Spark
  • 有关shell指令练习2
  • Exception与Error:Java中的异常处理
  • HashMap哈希表练习
  • 字节豆包C++一面-面经总结
  • 极狐GitLab 17.4 重点功能解读【三】
  • 【unity进阶知识4】封装unity协程工具,避免 GC(垃圾回收)
  • Source insight安装使用笔记
  • golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
  • Netty源码解析-锁机制
  • 【C/C++】initializer_list
  • 不要再混淆啦!一文带你学会原型链继承、构造函数继承、寄生组合继承、ES6继承
  • 828华为云征文|华为云Flexus X实例Windows Server 2019安装护卫神防火墙——为企业运维安全发挥重要作用!!!
  • 最新的iOS 18版本和Android 15版本系统分别升级了哪些功能?
  • window系统DockerDesktop 部署windows容器
  • CSDN文章导出md并迁移至博客园
  • 计算机组成原理(笔记5原码和补码的乘法以及直接补码阵列乘法器 )
  • 【hot100-java】【括号生成】
  • k8s_资源管理介绍
  • 操作简单 地检编码器 武汉正向科技售后优质
  • 2024中国新能源汽车零部件交易会,开源网安展示了什么?
  • Java解析嵌套jar中class文件