原创 leetcode 探索隊列與棧 克隆圖

題目 給你無向 連通 圖中一個節點的引用,請你返回該圖的 深拷貝(克隆)。 圖中的每個節點都包含它的值 val(int) 和其鄰居的列表(list[Node])。 class Node { public int val;

原创 leetcode探索隊列與棧 有效的括號

題目 給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序閉合。 注意空字符串可被認爲是有效字符串。 示例

原创 leetcode 探索 隊列與棧 打開轉盤鎖

題目 你有一個帶有四個圓形撥輪的轉盤鎖。每個撥輪都有10個數字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每個撥輪可以自由旋轉:例如把 ‘9’ 變爲 ‘0’,‘0’ 變

原创 leetcode 探索隊列與棧 最小棧

題目 設計一個支持 push ,pop ,top 操作,並能在常數時間內檢索到最小元素的棧。 push(x) —— 將元素 x 推入棧中。 pop() —— 刪除棧頂的元素。 top() —— 獲取棧頂元素。 getMin()

原创 leetcode 探索隊列與棧 逆波蘭表達式

題目 根據 逆波蘭表示法,求表達式的值。 有效的運算符包括 +, -, *, / 。每個運算對象可以是整數,也可以是另一個逆波蘭表達式。 說明: 整數除法只保留整數部分。 給定逆波蘭表達式總是有效的。換句話說,表達式總會得出有效數

原创 leetcode 探索 隊列與棧 完全平方數

題目 給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, …)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n = 12 輸出: 3 解釋: 12 = 4 + 4 + 4.

原创 leetcode 探索隊列與棧 每日溫度

題目 請根據每日 氣溫 列表,重新生成一個列表。對應位置的輸出爲:要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會升高,請在該位置用 0 來代替。 例如,給定一個列表 temperatures = [73, 74,

原创 leetcode 探索 隊列與棧 島嶼數量

題目 給你一個由 ‘1’(陸地)和 ‘0’(水)組成的的二維網格,請你計算網格中島嶼的數量。 島嶼總是被水包圍,並且每座島嶼只能由水平方向或豎直方向上相鄰的陸地連接形成。 此外,你可以假設該網格的四條邊均被水包圍。 示例 1:

原创 leetcode 探索 鏈表 複製帶隨機指針的鏈表

題目 給定一個鏈表,每個節點包含一個額外增加的隨機指針,該指針可以指向鏈表中的任何節點或空節點。 要求返回這個鏈表的 深拷貝。 我們用一個由 n 個節點組成的鏈表來表示輸入/輸出中的鏈表。每個節點用一個 [val, random_

原创 leetcode 探索 隊列和棧 設計循環隊列

題目 設計你的循環隊列實現。 循環隊列是一種線性數據結構,其操作表現基於 FIFO(先進先出)原則並且隊尾被連接在隊首之後以形成一個循環。它也被稱爲“環形緩衝器”。 循環隊列的一個好處是我們可以利用這個隊列之前用過的空間。在一個普

原创 leetcode 探索 鏈表 移除鏈表元素

題目 刪除鏈表中等於給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5 來源Leetcode: https://leetcode-cn.co

原创 leetcode 探索 鏈表 兩數相加

題目 將兩個升序鏈表合併爲一個新的 升序 鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 來源:力扣(LeetCode) 鏈

原创 leetcode 面試題02.01 移除重複節點

題目 編寫代碼,移除未排序鏈表中的重複節點。保留最開始出現的節點。 示例1: 輸入:[1, 2, 3, 3, 2, 1] 輸出:[1, 2, 3] 示例2: 輸入:[1, 1, 1, 1, 2] 輸出:[1, 2] 提示:

原创 leetcode 探索 鏈表 刪除鏈表的倒數第N個節點

題目 給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,鏈表變爲 1->2->3->5. 說明: 給定的 n 保

原创 leetcode 探索 鏈表 合併兩個有序鏈表

題目 將兩個升序鏈表合併爲一個新的 升序 鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 來源:力扣(LeetCode) 鏈