ARTS第二周

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
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} l1
* @param {ListNode} l2
* @return {ListNode}
*/
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的一些执行表现。

作者

Han Wei

发布于

2019-07-28

更新于

2024-04-07

许可协议

评论