var addTwoNumbers = function(l1, l2) {
// 定义初识链表头尾节点
let head = null, tail = null;
// 存储进位值
let carry = 0;
// 终止条件,l1和l2均为空
while (l1 || l2) {
// 将两个非空列表的值取出
const n1 = l1 ? l1.val : 0;
const n2 = l2 ? l2.val : 0;
// 求和
const sum = n1 + n2 + carry;
if (!head) {
head = tail = new ListNode(sum % 10);
} else {
tail.next = new ListNode(sum % 10);
tail = tail.next;
}
// 重定义进位值
carry = Math.floor(sum / 10);
if (l1) {
l1 = l1.next;
}
if (l2) {
l2 = l2.next;
}
}
if (carry > 0) {
tail.next = new ListNode(carry);
}
return head;
}
两数相加(JavaScript)
最新推荐文章于 2023-02-03 10:08:36 发布