給出乙個以頭節點 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:
publicview codestatic
int nextlargernodes2(listnode head)
else
/*儲存節點的值
*/headlist.add(itr.val);
/*移向下乙個節點
*/itr =itr.next;
}/*構建陣列
*/int re = new
int[count];
inti;
int j = 0;
for (i = count - 2; i >= 0; i--)
else
indexlist.set(i, j);
re[i] = (j == 0) ? 0: headlist.get(j);}}
return
re; }
鍊錶中的下乙個更大節點
給出乙個以頭節點 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...