Skip to content

Commit 1e50103

Browse files
committed
feat(Linked-List): ✨优化1019解法
1 parent afd922b commit 1e50103

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

Linked-List/1019/solution2.js

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* https://leetcode-cn.com/problems/next-greater-node-in-linked-list/
3+
*
4+
* 1019. 链表中的下一个更大节点
5+
*
6+
* Medium
7+
*
8+
* 逆向思维
9+
*
10+
* 172ms 96.15%
11+
* 48.8mb 23.81%
12+
*/
13+
const nextLargerNodes = head => {
14+
let ans = [];
15+
if (!head) {
16+
return ans;
17+
}
18+
19+
let items = [];
20+
let indexs = [];
21+
let index = 0;
22+
let currentHead = head;
23+
while(currentHead) {
24+
// 修复之前的值
25+
while(items.length && currentHead.val > items[items.length - 1]) {
26+
ans[indexs.pop()] = currentHead.val;
27+
items.pop();
28+
}
29+
ans.push(0);
30+
items.push(currentHead.val);
31+
indexs.push(index++);
32+
currentHead = currentHead.next;
33+
}
34+
return ans;
35+
}

0 commit comments

Comments
 (0)