Algorithm:2. Add Two Numbers
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
let addTwoNumbers = function(l1, l2) { let result; let currentNode; let temp = 0; do { if (!result) result = currentNode = new ListNode(0); else currentNode = currentNode.next = new ListNode(0); temp = (l1?l1.val:0) + (l2?l2.val:0) + temp; currentNode.val = temp % 10; temp = (temp - temp % 10) / 10; l1 = l1 && l1.next; l2 = l2 && l2.next; } while(l1 || l2 || temp); return result; };
|
Review:Simplify your JavaScript – Use .map(), .reduce(), and .filter()
作者讲解了.map(), filter(), .reduce(),以及同forEach做了一些使用上的对比。阅读这篇文章,可以对上面三个方法的使用场景有更清晰的认识。
Tip:这周参加了一个线上面试,一紧张用了for循环去做了字符串对比,哈哈。其实有更高级的接口可以实现,甚至用正则也可以。通过这件事情,体会到平时养成使用高级接口的重要性,遇到问题先结合使用环境考虑一下有没有什么高级接口可以使用,如果没有再去用低级接口自己实现。
Share:await探究
我在这篇文章里简单探讨了一下await的一些执行表现。