[LeetCode] 2. Add Two Numbers

妖精的绣舞 提交于 2019-12-01 06:38:42

这题因为我做过Java版本,发觉跟Java版本几乎无差别。若有JS的小伙伴有更neat的解法欢迎留言。因为我是硬转JS刷题,有些JS的东西用的的确不是很6。

这题思路非常直观,就是直接做加法,注意进位即可。记得最后判断是不是还有额外的一个进位。

 1 /**
 2  * @param {ListNode} l1
 3  * @param {ListNode} l2
 4  * @return {ListNode}
 5  */
 6 var addTwoNumbers = function(l1, l2) {
 7     let dummy = new ListNode(0);
 8     let cur = dummy;
 9     let sum = 0;
10     let p1 = l1;
11     let p2 = l2;
12     while (p1 != null || p2 != null) {
13         if (p1 != null) {
14             sum += p1.val;
15             p1 = p1.next;
16         }
17         if (p2 != null) {
18             sum += p2.val;
19             p2 = p2.next;
20         }
21         cur.next = new ListNode(sum % 10);
22         sum = parseInt(sum / 10);
23         cur = cur.next;
24     }
25     if (sum === 1) {
26         cur.next = new ListNode(1);
27     }
28     return dummy.next;
29 };

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!