鍊錶中的下乙個更大節點

2021-09-26 07:20:52 字數 993 閱讀 1918

給出乙個以頭節點 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] 範圍內

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

vectorans(t.size());

stacks; // 這裡放元素索引,而不是元素

for (int i = t.size() - 1; i >= 0; i--)

ans[i] = s.empty() ? 0:s.top(); // 得到索引間距

s.push(t[i]); // 加入索引,而不是元素

}return ans;

}};

鍊錶中的下乙個更大節點

給出乙個以頭節點 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種解題思路...

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

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