Leetcode 1091 鍊錶的下乙個更大節點

2021-09-19 12:07:04 字數 1299 閱讀 3658

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

每個節點都可能有下乙個更大值(next largervalue):對於node_i,如果其next_larger(node_i)node_j.val,那麼就有j > inode_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]範圍內

第一種暴力的方法,兩層迴圈

vectornextlargernodes(listnode* head) 

return ans;

}

第二種動態規劃

vectornextlargernodes(listnode* head) 

int len = vect.size();

vectordp(len,0);

for(int i=len-2;i>=0;i--)

}return dp;

}

leetcode 鍊錶 回文鍊錶

請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?head null 空鍊錶,回文,返回true head.next null 只有乙個節點的列表,回文,返回tru...

leetcode 鍊錶 回文鍊錶

請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2輸出 false示例 2 輸入 1 2 2 1輸出 true高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?思路 利用快慢指標找到中間節點,當快指標走到末尾時,慢指標指向中間節點 交中間節點之後的節點進行鍊錶反轉 設定指標p1從h...

分隔鍊錶(鍊錶 LeetCode)

題目鏈結 給你乙個鍊錶和乙個特定值 x 請你對鍊錶進行分隔,使得所有小於 x 的節點都出現在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5維護兩個鍊錶,乙個鍊錶儲存比x小的結點,另乙個鍊錶儲...