標籤:
Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
https://leetcode.com/problems/add-two-numbers/
鏈表儲存的大數加法。
1 /** 2 * Definition for singly-linked list. 3 * function ListNode(val) { 4 * this.val = val; 5 * this.next = null; 6 * } 7 */ 8 /** 9 * @param {ListNode} l110 * @param {ListNode} l211 * @return {ListNode}12 */13 var addTwoNumbers = function(l1, l2) {14 var carry = 0;15 var result = new ListNode(-1);16 var resHead = result;17 while(l1 !== null || l2 !== null){18 var sum = carry;19 if(l1 !== null){20 sum += l1.val;21 l1 = l1.next;22 }23 if(l2 !== null){24 sum += l2.val;25 l2 = l2.next;26 }27 28 var node = null;29 if(sum >= 10){30 node = new ListNode(sum - 10);31 carry = 1;32 }else{33 node = new ListNode(sum);34 carry = 0;35 }36 result.next = node;37 result = result.next;38 }39 if(carry === 1){40 result.next = new ListNode(1);41 }42 return resHead.next;43 };
[LeetCode][JavaScript]Add Two Numbers