給出乙個以頭節點 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...