题目地址:链接
思路:
- 遍历两个链表以及进位 add,若存在,累加至 sum 中;
- 检查 sum 是否有进位;
- 将 sum % 10 存入链表中;
- 最后返回 dummy.next。
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} l1
* @param {ListNode} l2
* @return {ListNode}
*/
var addTwoNumbers = function(l1, l2) {
let add = 0;
let dummy = new ListNode(0);
let p = dummy;
while(l1 || l2 || add) {
let sum = 0;
if(l1) sum += l1.val;
if(l2) sum += l2.val;
if(add) sum += add;
let tmpadd = Math.floor(sum / 10);
p.next = new ListNode(sum % 10);
if(l1) l1 = l1.next;
if(l2) l2 = l2.next;
add = tmpadd;
p = p.next;
}
return dummy.next;
};
···
8万+

被折叠的 条评论
为什么被折叠?



