leetcode

我的 leetcode 题解(JavaScript)


/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} head
 * @return {number[]}
 */
var nextLargerNodes = function(head) {
  let arr = [], stack = [];
  while (head !== null) {
    arr.push(head.val)
    head = head.next;
  }
  const arrLen = arr.length;
  let res = new Array(arrLen).fill(0)
  for (let i = 0; i < arrLen; ++i) {
    while (stack.length !== 0 && arr[stack[stack.length - 1]] < arr[i]) {
      res[stack.pop()] = arr[i];
    }
    stack.push(i);
  }
  return res;
};