第五十六天:力扣第2题,两数相加
地址:leetcode-cn.com/problems/ad…
思路:创建新链表,然后逐一将两个链表的每个值相加,超过十放在一个进一位里就行了。
var addTwoNumbers = function(l1, l2) {
let head = new ListNode(-1);
let res = head;
let sum = 0;
let a = 0;
while(l1 || l2)
{
sum = (l1 ? l1.val : 0) + (l2 ? l2.val : 0) + a;//判断是否存在
a = sum >= 10 ? 1 : 0;// 进位符
res.next = new ListNode(sum % 10);//存入
res = res.next;
if(l1)l1 = l1.next;
if(l2)l2 = l2.next;
}
if(a !== 0)
{
res.next = new ListNode(a);
}
return head.next;
};
执行用时:140 ms, 在所有 JavaScript 提交中击败了71.38%的用户
内存消耗:43 MB, 在所有 JavaScript 提交中击败了35.65%的用户