1 useEffect 代码理解 2 数组中每个元素是个对象,[{w: 111, val: 222}, {w: 190, val: 222}], 根据w的值进行merge 利用 Map 3 LCR 026. 重排链表
var reorderList = function (head) {
if (!head || !head.next) {
return head;
}
const arr = [];
while (head) {
arr.push(head);
head = head.next;
}
let l = 0, r = arr.length - 1;
while(l < r - 1) {
arr[l].next = arr[r];
l++;
arr[r].next = arr[l];
r--;
}
// 偶数个, 最后l r 相邻,需要 l -> r
if (l === r - 1) {
arr[l].next = arr[r];
}
// l === r OR l === r - 1
arr[r].next = null;
return arr[0];
};
4 歌词拆分
5 接雨水
var maxArea = function(height) {
let res = 0;
let left = 0, right = height.length - 1;
while(left < right) {
let area = Math.min(height[left], height[right]) * (right - left)
if (area > res) {
res = area;
}
if (height[right] > height[left]) {
left++;
} else {
right--;
}
}
return res;
};