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

力扣题库2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

Swift实现

class Solution {func addTwoNumbers(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? {var listNode1 = l1;var listNode2 = l2;//进位var carry: Int = 0;let result: ListNode = ListNode(0)var currentNode = resultwhile listNode1 != nil || listNode2 != nil || carry > 0 {let sum: Int = (listNode1?.val ?? 0) + (listNode2?.val ?? 0) + carrycurrentNode.next = ListNode(sum % 10)currentNode = currentNode.next!listNode1 = listNode1?.nextlistNode2 = listNode2?.nextcarry = sum / 10}return result.next}
}

OC实现

- (ListNode *)addTwoNumber:(ListNode *)l1 listNode2:(ListNode *)l2 {ListNode *result = [[ListNode alloc] initWithVal:0];ListNode *currentNode = result;ListNode *listNode1 = l1;ListNode *listNode2 = l2;//进位标记NSInteger carry = 0;while (listNode1 || listNode2 || carry > 0) {NSInteger sum = listNode1.val + listNode2.val + carry;currentNode.next = [[ListNode alloc] initWithVal:sum%10];currentNode = currentNode.next;listNode1 = listNode1.next;listNode2 = listNode2.next;carry = sum / 10;}return result.next;
}
http://www.lryc.cn/news/230837.html

相关文章:

  • 【Linux】第十六站:进程地址空间
  • 基于Springboot的影城管理系统(有报告)。Javaee项目,springboot项目。
  • 如何在面试中胜出?接口自动化面试题安排上
  • 联邦学习研究综述笔记
  • RedisTemplate乱码问题
  • Java用户和内核交互图
  • 2023.11.14使用bootstrap制作一个简洁的前端注册登录页
  • Avatar虚拟形象解决方案,趣味化的视频拍摄与直播新体验
  • MongoDB备份与恢复以及导入导出
  • 如何挑选猫主食罐头?宠物店自用的5款猫主食罐头推荐!
  • 立哥先进研发-API安全方案
  • 小函数:Lambda表达式(Java篇)
  • RSS订阅快速连接Notion
  • VMware ubuntu 新虚拟机的创建
  • 第一篇 《随机点名答题系统》简介及设计流程图(类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统)
  • C# .NET6 Log4net输出日志
  • python数据结构与算法-03_链表
  • Springboot-aop的使用
  • 数列计算
  • 阿里云全球故障凸显“云集中”风险
  • 【2015年数据结构真题】
  • vxe表格行拖拽
  • Linux之基本指令操作
  • 海康设备、LiveNVR等通过GB35114国密协议对接到LiveGBS GB28181/GB35114平台的详细操作说明
  • BUUCTF 面具下的flag 1
  • ArcGIS实现矢量区域内所有要素的统计计算
  • 3.4-初识Container
  • 壹基金爱泽瑞金 安全家园物料配送忙
  • arcgis--二维建筑面的三维显示设置
  • Maven 插件统一修改聚合工程项目版本号