
给你两个非空链表,代表两个非负整数。这些数字以相反的顺序存储,并且每个节点都包含一个数字。将两个数字相加并以链表形式返回总和。
您可以假设这两个数字不包含任何前导零,除了数字 0 本身。
example 1: input: l1 = [2,4,3], l2 = [5,6,4] output: [7,0,8] explanation: 342 + 465 = 807. example 2: input: l1 = [0], l2 = [0] output: [0] example 3: input: l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] output: [8,9,9,9,0,0,0,1]
限制:
每个链表中的节点数量在 [1, 100] 范围内。
0
保证列表代表一个没有前导零的数字。
var addTwoNumbers = function(l1, l2) {
var List = new ListNode(0);
var head = List;
var sum = 0;
var carry = 0;
while(l1!==null||l2!==null||sum>0){
if(l1!==null){
sum = sum + l1.val;
l1 = l1.next;
}
if(l2!==null){
sum = sum + l2.val;
l2 = l2.next;
}
if(sum>=10){
carry = 1;
sum = sum - 10;
}
head.next = new ListNode(sum);
head = head.next;
sum = carry;
carry = 0;
}
return List.next;
};










