1019 鍊錶中的下乙個更大節點

2021-10-18 06:54:01 字數 1086 閱讀 6073

題目描述:

給出乙個以頭節點 head 作為第乙個節點的鍊錶。鍊錶中的節點分別編號為:node_1, node_2, node_3, … 。

每個節點都可能有下乙個更大值(next larger value):對於 node_i,如果其 next_larger(node_i) 是 node_j.val,那麼就有 j > i 且 node_j.val > node_i.val,而 j 是可能的選項中最小的那個。如果不存在這樣的 j,那麼下乙個更大值為 0 。

返回整數答案陣列 answer,其中 answer[i] = next_larger(node_) 。

注意:在下面的示例中,諸如 [2,1,5] 這樣的輸入(不是輸出)是鍊錶的序列化表示,其頭節點的值為 2,第二個節點值為 1,第三個節點值為 5 。

示例 1:

輸入:[2,1,5]

輸出:[5,5,0]

示例 2:

輸入:[2,7,4,3,5]

輸出:[7,0,5,5,0]

示例 3:

輸入:[1,7,5,1,9,2,5,1]

輸出:[7,9,9,9,0,5,0,0]

對於鍊錶中的每個節點,1 <= node.val <= 10^9

給定列表的長度在 [0, 10000] 範圍內

方法 1:

(1)先確定各個結點的值,再從後向前使用單調棧,確定下乙個更大結點;

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

//使用單調棧

for(

int i=res.

size()

-1;i>=0;

--i)

if(st.

empty()

)else

}return res;}}

;

鍊錶中的下乙個更大節點

給出乙個以頭節點 head 作為第乙個節點的鍊錶。鍊錶中的節點分別編號為 node 1,node 2,node 3,每個節點都可能有下乙個更大值 next larger value 對於 node i,如果其 next larger node i 是 node j.val,那麼就有 j i 且 no...

鍊錶中的下乙個更大節點

給出乙個以頭節點 head 作為第乙個節點的鍊錶。鍊錶中的節點分別編號為 node 1,node 2,node 3,每個節點都可能有下乙個更大值 next larger value 對於 node i,如果其 next larger node i 是 node j.val,那麼就有 j i 且 no...

386,鍊錶中的下乙個更大節點

給乙個鍊錶,返回每個節點下乙個比他大的值,如果不存在就返回0 示例 1 輸入 2,1,5 輸出 5,5,0 示例 2 輸入 2,7,4,3,5 輸出 7,0,5,5,0 示例 3 輸入 1,7,5,1,9,2,5,1 輸出 7,9,9,9,0,5,0,0 問題分析這題和382,每日溫度的5種解題思路...