Leetcode 1072 Solution
This article provides solution to leetcode question 1072 (next-greater-node-in-linked-list)
Access this page by simply typing in "lcs 1072" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/next-greater-node-in-linked-list
Solution
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def nextLargerNodes(self, head: ListNode) -> List[int]:
if not head:
return None
a = []
node = head
while node:
a.append(node.val)
node = node.next
s = []
b = []
for i in reversed(range(len(a))):
while s and s[-1] <= a[i]:
s.pop(-1)
b.append(0 if len(s) == 0 else s[-1])
s.append(a[i])
node = None
for i, v in enumerate(b):
curr = ListNode(v)
curr.next = node
node = curr
return node