LeetCode(2)
// 两数相加,用链表表示 2->4->3 + 5->6->4 = 7->0->8 342+465=807
function ListNode(val) {
this.val = val;
this.next = null;
}
function addTwoNumber(v1, v2) {
let Node = new ListNode('head');
let temp = Node;
let add = 0;//表示进位
let sum = 0;//表示v1.val+v2.val+add
while (v1 || v2) {
sum = (v1 ? v1.val : 0) + (v2 ? v2.val : 0) + add; //两个元素相加的和
temp.next = new ListNode(sum % 10); //创建一个新的节点保存
temp = temp.next;
add = sum >= 10 ? 1 : 0;
v1 && (v1 = v1.next);
v2 && (v2 = v2.next);
}
add && (temp.next = new ListNode(add)); //如果最后的两个元素相加超过十,则要向前进一位
return Node.next;
}