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

leetCode- 两数相加

在这里插入图片描述

(1)迭代法

   //两数相加-迭代法public ListNode addTwoNumbers(ListNode l1, ListNode l2) {int total  = 0;int carry = 0;ListNode head = new ListNode(0);ListNode cur = head;while (l1 !=null && l2!=null){int sum =l1.val + l2.val;if (total!=0){sum=sum+total;}total = sum/10;carry = sum%10;cur.next = new ListNode(carry);cur = cur.next;l1=l1.next;l2=l2.next;}while(l1 !=null){int sum=l1.val;sum = sum + total;total = sum/10;carry = sum%10;cur.next = new ListNode(carry);cur = cur.next;l1=l1.next;}while(l2 !=null){int sum=l2.val;sum = sum + total;total = sum/10;carry = sum%10;cur.next = new ListNode(carry);cur = cur.next;l2=l2.next;}if (total!=0){cur.next = new ListNode(total);}return head.next;}

(2)递归法

   //采用递归的方式public ListNode addTwoNumbersTwo(ListNode l1, ListNode l2) {return addTwoNumbersRecursive(l1, l2, 0);}private ListNode addTwoNumbersRecursive(ListNode l1, ListNode l2, int carry) {// 处理两个链表都遍历完且没有进位的终止条件if (l1 == null && l2 == null && carry == 0) {return null;}// 处理当前节点的值int val1 = (l1 != null) ? l1.val : 0;int val2 = (l2 != null) ? l2.val : 0;int sum = val1 + val2 + carry;int currentVal = sum % 10;int nextCarry = sum / 10;// 创建当前节点ListNode current = new ListNode(currentVal);// 递归处理后续节点ListNode next1 = (l1 != null) ? l1.next : null;ListNode next2 = (l2 != null) ? l2.next : null;current.next = addTwoNumbersRecursive(next1, next2, nextCarry);return current;}
http://www.xdnf.cn/news/13361.html

相关文章:

  • 【AI学习】一、向量表征(Vector Representation)
  • 报告精读:金融算力基础设施发展报告 2024【附全文阅读】
  • 构建欺诈事件的结构化威胁建模框架
  • Coze 和 Dify 对比
  • 销售心得分享
  • 保险风险预测数据集insurance.csv
  • vivado IP核High speed/Low latency设置对系统性能的影响
  • 深入浅出Diffusion模型:从原理到实践的全方位教程
  • 改进系列(13):基于改进U-ResNet的脊椎医学图像分割系统设计与实现
  • 游戏盾的功能是什么
  • 关于前端常用的部分公共方法(二)
  • 2.6 查看动态库或程序的依赖库
  • PH热榜 | 2025-06-06
  • 高保真组件库:上传
  • “深时数字地球”新进展!科学智能助推地球科学研究范式变革
  • if综合演练——石头剪刀布
  • 命令行关闭Windows防火墙
  • 网络爬虫解析技术与实战代码详解
  • 可编程光子处理器新范式:《APL Photonics》封面级成果展示多功能集成突破
  • 报文口令重写功能分析(以某巢为例)
  • 一款 AI 驱动的 Wiki 知识库
  • python中的闭包
  • 安装和使用G4F(GPT4Free) 最新0.5.3.2 版本
  • 算法从0到1 Day 17 二叉树part 06
  • Linux 关键目录解析:底层机制与技术细节
  • 从制造出海到智造全球,艾芬达如何拥抱工业互联网革命?
  • Sass具有超能力的CSS预处理器
  • 【leetcode】136. 只出现一次的数字
  • RAG质量评估
  • Spacy词性对照表