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

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

你可以假设除了数字 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
题目数据保证列表表示的数字不含前导零
通过次数692,191提交次数1,758,364

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-two-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

因为给出两个链表,要返回第三个, 我们要做的就是在申请第三个链表的时候,将链表1和链表2的val值加到链表三上,并对需要进位的地方进行进位,这样就能快完成,执行效率高,不需要进行多余的运算

/*** Definition for singly-linked list.* type ListNode struct {*     Val int*     Next *ListNode* }*/
func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {var listNode *ListNodelistNode = new(ListNode)listNode.Val = l1.Val + l2.Vall1 = l1.Nextl2 = l2.Nextl3 := listNodex := l3.Val / 10l3.Val = l3.Val % 10for {if l1 == nil && l2 == nil {if x != 0 {l3.Next = new(ListNode)l3.Next.Val = x}break}l3.Next = new(ListNode)l3.Next.Val += xif l1 != nil {l3.Next.Val += l1.Vall1 = l1.Next}if l2 != nil {l3.Next.Val += l2.Vall2 = l2.Next}x = l3.Next.Val / 10l3.Next.Val = l3.Next.Val % 10l3 = l3.Next}return listNode
}

执行结果

耗时4ms超过99.23的用户

leetCode刷题--两数相加相关推荐

  1. leetcode第一题两数相加

    leetcode两数相加: 提示: 问题描述: int* twoSum(int* nums, int numsSize, int target, int* returnSize) {for (int ...

  2. LeetCode刷题-两数之和(持续更新)

    文章目录 LeetCode 1. Two Sum (两数之和) 题目描述 样例 解题思路一(暴力法) 解题思路二(使用map) 前言:最近业余时间,一直在看LeetCode上面的题,上面有许多好的解题 ...

  3. python怎么设编程两个数相加时_黄哥Python, LeetCode 第二题两数相加代码

    来源力扣​leetcode-cn.com 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相 ...

  4. leetcode算法题--两数相加 II

    原题链接:https://leetcode-cn.com/problems/add-two-numbers-ii/ 栈 ListNode* addTwoNumbers(ListNode* l1, Li ...

  5. leetcode算法题--两数相加

    题目地址:https://leetcode-cn.com/problems/add-two-numbers/ 用一个carry记下进位就行,像加法器的原理一样. ListNode* addTwoNum ...

  6. LeetCode题库第2题 两数相加

    两数相加 LeetCode题库第二题 两数相加 看完题目,就可以将题目抽象为三个指针,前两个指针是l1和l2,后一个指针是我们要求的,这三个指针同时移动,由于可能会产生进位,所以可以用一个变量来存储这 ...

  7. 力扣每日一题——两数相加II

    发现做的题难度始终不高,今天Leecode给了一个稍微难一点的题目.(前两天没更是因为去拔牙了~~>_<~~) 给你两个 非空 链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每 ...

  8. LeetCode实战:两数相加

    题目英文 You are given two non-empty linked lists representing two non-negative integers. The digits are ...

  9. 【LeetCode】2.两数相加

    1.两数相加 一.问题描述 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表 ...

最新文章

  1. 集生态之力跨城市数字化之难题,英特尔交上了一份完美答卷
  2. malloc、calloc、realloc的区别
  3. Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
  4. jemeter python接口自动化测试平台_ant+jmeter+Jenkins接口自动化测试实战(1)
  5. 不搞代码来搞我,我又动了谁的奶酪?
  6. rabbitmq channel对象的方法
  7. android重要的对象
  8. select2 ajax 搜索框,修改Select2搜索框(Modify Select2 search box)
  9. python学习笔记6---数据解析
  10. rtl8139 群晖_黑群辉里的虚拟机安装XP系统,没有网卡怎么传入文件?
  11. 光照与渲染(十)- 自发光材质
  12. 2021年美国大学生数学建模竞赛(题目详细介绍)
  13. Thread yield
  14. MySQL - SUM() OVER() 函数用法详解
  15. 做seo为什么要了解网站
  16. soc 设计soc设计 uml实务手册_企业内训“软件需求设计建模方法学全程实例剖析”训练方案(2020年)...
  17. 有什么靠谱的Python培训机构
  18. UsbAccessory和UsbDevice的区别
  19. WiFi万能钥匙首席安全官龚蔚:对公共WiFi不必谈虎色变
  20. C#通过键盘钩子获取数据

热门文章

  1. poj 2010(优先队列)
  2. hdu-Frosh Week(树状数组)
  3. 数据结构(严蔚敏)之四——链栈之c语言实现
  4. NYOJ 240 小明的调查统计(二)
  5. js面向对象编程:this究竟代表什么?第二篇
  6. [转载]非常量引用的初始值必须为左值的问题
  7. 伪元素控制网页表单样式
  8. Introducing Document Management in SharePoint 2010 介绍SharePoint 2010中的文档管理
  9. 用C/C++扩展你的PHP
  10. iBATIS.NET 学习笔记(五)