摘要:原题如下意思就是数字被逆序拆分保存在链表的各个节点中,现有两条链表,要将这两条链表相加返回新的链表。以示例来说原数字为和,所以相加结果为。
原题如下:
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
意思就是数字被逆序拆分保存在链表的各个节点中,现有两条链表,要将这两条链表相加返回新的链表。
以示例来说原数字为342和465,所以相加结果为807。
var addTwoNumbers = function(l1, l2) { const res = test(l1,l2,[],false); return res; }; var test = function(l1,l2,res,overflow=false){ res = res||[]; l1=l1||{val:0,next:null};//这里判断传入的数组是否存在 l2=l2||{val:0,next:null};//如果不存在就给他赋值后面的对象 //这里计算想加后的结果,Number() 函数把对象的值转换为数字 const val = l1.val+l2.val+Number(overflow); if(val>=10){ res.push(val%10); overflow=true; }else{ res.push(val); overflow=false; } //所有的对象都被当作 true //当且仅当字符串为空时,该字符串被当作 false //null 和 undefined 被当作 false //当且仅当数字为零时,该数字被当作 false if(l1.next||l2.next||overflow){ test(l1.next,l2.next,res,overflow); } return res; }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/87165.html
摘要:更新之前说感觉优秀答案的最后三行可以用尾递归优化不知道尾递归的小伙伴可以点这里,仔细想了一下,并不能。尾递归的实现,往往需要改写递归函数,确保最后一步只调用自身。 上周日就想写vue.nextTick的源码分析,可是总是不知道从哪儿下手,今天有时间,先把leetcode第二题补了,感觉这道题还挺简单的 一、题目 两数相加: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自...
摘要:同时题目假设每组输入恰好只有一个答案,并且不能重复使用同一元素。理解这道题是可以用两层循环蛮力解决的,但是效率太低了。如果这两个元素和大于目标数组,指针左移如果小于,指针右移。如果等于,则返回这两个元素的位置记得用数组的数值加一解法 题目详情 Given an array of integers that is already sorted in ascending order, fi...
摘要:我们的目的是求出两个数字的加和,并以同样的形式返回。假设每个都不会存在在首位的,除非数字本身就是想法这道题主要要求还是熟悉的操作。这道题由于数字反序,所以实际上从首位开始相加正好符合我们笔算的时候的顺序。 题目详情 You are given two non-empty linked lists representing two non-negative integers. The d...
摘要:就不说了,使用的解法思路如下建立,对应该元素的值与之差,对应该元素的。然后,循环,对每个元素计算该值与之差,放入里,。如果中包含等于该元素值的值,那么说明这个元素正是中包含的对应的差值。返回二元数组,即为两个所求加数的序列。 Problem Given an array of integers, find two numbers such that they add up to a s...
阅读 1417·2021-10-18 13:29
阅读 2575·2021-10-12 10:18
阅读 3547·2021-09-22 15:06
阅读 2547·2019-08-29 17:09
阅读 2747·2019-08-29 16:41
阅读 1450·2019-08-29 13:48
阅读 3200·2019-08-26 13:49
阅读 3281·2019-08-26 13:34