functioncreateListNode(nums) { nums += ""; var result = null; for (let i = 0; i < nums.length; i++) { let row = new ListNode(Number(nums[i])); if (i > 0) { row.next = result; } result = row; } return result; } let l1 = createListNode(342); let l2 = createListNode(465);
/** * @param {ListNode}l1 * @param {ListNode}l2 * @return {ListNode} */ var addTwoNumbers = function (l1, l2) { let result = new ListNode(0), node = result; while (l1 || l2) { let r = node.val, i = (l1 && l1.val) || 0, j = (l2 && l2.val) || 0, sum = r + i + j, m, n; if (sum >= 10) { m = 1; n = sum - 10; } else { m = 0; n = sum; } l1 = l1 && l1.next; l2 = l2 && l2.next; node.val = n;
if (m || l1 || l2) { node.next = new ListNode(m); node = node.next; } } return result; };