原创 快樂的LeetCode --- 120. 三角形最小路徑和

題目描述: 給定一個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。 相鄰的結點 在這裏指的是 下標 與 上一層結點下標 相同或者等於 上一層結點下標 + 1 的兩個結點。 例如,給定三角形: [

原创 快樂的LeetCode --- 187. 重複的DNA序列

題目描述: 所有 DNA 都由一系列縮寫爲 A,C,G 和 T 的核苷酸組成,例如:“ACGAATTCCG”。在研究 DNA 時,識別 DNA 中的重複序列有時會對研究非常有幫助。 編寫一個函數來查找目標子串,目標子串的長度爲

原创 樹莓派忘記代碼後成功實現的樹莓派Pi賬戶密碼簡單重置

樹莓派Pi賬戶的密碼忘記之後… 方法一: 打開終端,執行 sudo passwd root 接下來輸入一個你爲root賬戶設置的密碼,然後再次輸入確認 下一步執行 sudo passwd --unlock root su  

原创 快樂的LeetCode --- 101. 對稱二叉樹

題目描述: 給定一個二叉樹,檢查它是否是鏡像對稱的。 例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面這個 [1,2,2,nu

原创 快樂的LeetCode --- 38. 外觀數列

題目描述: 「外觀數列」是一個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被讀

原创 快樂的LeetCode --- 929. 獨特的電子郵件地址

題目描述: 每封電子郵件都由一個本地名稱和一個域名組成,以 @ 符號分隔。 例如,在 [email protected]中, alice 是本地名稱,而 leetcode.com 是域名。 除了小寫字母,這些電子郵件還可能包

原创 快樂的LeetCode --- 面試題 04.05. 合法二叉搜索樹

題目描述: 實現一個函數,檢查一棵二叉樹是否爲二叉搜索樹。 示例 1: 輸入: 2 / \ 1 3 輸出: true 示例 2: 輸入: 5 / \ 1 4 / \

原创 快樂的LeetCode --- 劍指 Offer 07. 重建二叉樹

題目描述: 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。 例如,給出 前序遍歷 preorder = [3,9,20,15,7] 中序遍歷 inorder =

原创 LeetCode刷題之棧、隊列、堆的解題方法及相關練習

理論引述 棧Stack:先進後出的線性表 隊列Queue:先進先出的線性表 python中heapq堆的講解 a = [1,2,3,4,5] print(a.pop()) # 結果爲5,說明彈出的是數組中的最後一個元素

原创 LeetCode刷題之鏈表的解題方法及相關練習

鏈表解題方法在相關的習題中,後期將總結通用規律,敬請期待! [1]. 快樂的LeetCode — 237. 刪除鏈表中的節點 [2]. 快樂的LeetCode — 面試題18. 刪除鏈表的節點 [3]. 快樂的LeetCode —

原创 快樂的LeetCode --- 24. 兩兩交換鏈表中的節點

題目描述:   給定一個鏈表,兩兩交換其中相鄰的節點,並返回交換後的鏈表。你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。 示例: 給定 1->2->3->4, 你應該返回 2->1->4->3. 解題思路

原创 快樂的LeetCode --- 面試題 16.26. 計算器

題目描述: 給定一個包含正整數、加(+)、減(-)、乘(*)、除(/)的算數表達式(括號除外),計算其結果。 表達式僅包含非負整數,+, - ,*,/ 四種運算符和空格 。 整數除法僅保留整數部分。 示例 1: 輸入: "3

原创 快樂的LeetCode --- 92. 反轉鏈表 II

題目描述: 反轉從位置 m 到 n 的鏈表。請使用一趟掃描完成反轉。 說明: 1 ≤ m ≤ n ≤ 鏈表長度。 示例: 輸入: 1->2->3->4->5->NULL, m = 2, n = 4 輸出: 1->4->3->2

原创 快樂的LeetCode --- 237. 刪除鏈表中的節點

題目描述: 請編寫一個函數,使其可以刪除某個鏈表中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個鏈表 – head = [4,5,1,9],它可以表示爲: 示例 1: 輸入: head = [4,5,1,9]

原创 快樂的LeetCode --- 215. 數組中的第K個最大元素

題目描述: 在未排序的數組中找到第 k 個最大的元素。請注意,你需要找的是數組排序後的第 k 個最大的元素,而不是第 k 個不同的元素。 示例 1: 輸入: [3,2,1,5,6,4] 和 k = 2 輸出: 5 示例 2: