首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    leetcode:2 两数相加

    因为js中没有链表的操作,所以通过Object来做。 作用是存储想加后的链表哈。 const q=new ListNode(0); 问题? 0是什么意思? 没有什么意思?...在相加操作上没有价值把。 如何遍历两个链表? 两个指针。 let p1=l1; let p2=l2; let p3=q; 第三个指针是新建的链表,相同的位想加后是要存储的。...carry=Math.floor(val/10); 放到相加的操作上. const val=v1+v2+carry; 然后是把个位上的数加到新链表上。...carry=Math.floor(val/10); p3.next=new ListNode(val%10); 这两句第一个是截图十位,等到下一次循环在下位相加所以不管它了。...p3=p3.next; 然后新建的相加后的指针也进1. 然后是问题: 最后时候的链表如果超过9怎么办? 进1啊。

    37410

    2. 两数相加

    如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。...思路 设立一个表示进位的变量carried,建立一个新链表, 把输入的两个链表从头往后同时处理,每两个相加,将结果加上carried后的值作为一个新节点到新链表后面。 ?...(图片来自:https://github.com/MisterBooo/LeetCodeAnimation) 关键点解析 链表这种数据结构的特点和使用 用一个carried变量来实现进位的功能,每次相加之后计算...carried,并用于下一位的计算 代码 语言支持:JS,C++ JavaScript: /** * Definition for singly-linked list...描述 将两个链表的第一个节点值相加,结果转为0-10之间的个位数,并设置进位信息 将两个链表第一个节点以后的链表做带进位的递归相加 将第一步得到的头节点的next指向第二步返回的链表 C++实现 //

    97510

    LeetCode | 2.两数相加

    这次来写一下 LeetCode 的第 2 题,两数相加。 题目描述 题目直接从 LeetCode 上截图过来,题目如下: ?...上面的题就是 两数相加 题目的截图,同时 LeetCode 会根据选择的语言给出了一个类的定义或者函数的定义,然后在其中实现 两数相加 的解题过程。这次我使用 C 语言来进行完成。...只要使链表的指针逐步的移动,并使指针所指向的节点中的值进行相加,相加后判断是否产生进位,如果产生进位则记录下进位的值,把进位后剩下的个位数写入链表的节点,进位的值与当前节点的下对节点相加时同时参与运算即可...链表最后的一对节点相加后也可能会产生进位,因此在循环相加后,需要判断是否产生了进位,如果有进位需要为这个进位一个单独的节点链到链表的结尾处。...{ if (l1 == NULL) { return l2; } if (l2 == NULL) { return l1; }

    33820

    LeetCode-2 两数相加

    今天学习第2题两数相加,这个题目特别经典,经常在面试中出现,如果面临秋招或春招的小伙伴们最好在面试前将该题能够手写出来。...然后两个链表的对应位置上的数字相加,将相加的值保存到结果链表中。这里需要注意两个关键点:一是如果两个值相加大于9该怎么办?二是两个链表长度不一致该怎么办?...对于关键点二:我们以最长链表作为终点,对于较短链表对应位置的数值,我们用0来补齐。 下面分析一个具体实例,该实例包含上述两个关键点,如下图所示: ?...0 : l1.val; int d2 = (l2 == null) ?...Github地址 LeetCode-2 两数相加:https://github.com/JacobLei/leetcode/blob/master/src/main/java/A2_AddTwoNumbers.java

    46640
    领券