原创 LeetCode 703. 數據流中的第K大元素

703. 數據流中的第K大元素 設計一個找到數據流中第K大元素的類(class)。注意是排序後的第K大元素,不是第K個不同的元素。 你的 KthLargest 類需要一個同時接收整數 k 和整數數組nums 的構造器,它包含數據流中的初

原创 LeetCode 217. 存在重複元素

217. 存在重複元素 給定兩個數組,編寫一個函數來計算它們的交集。 示例1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2] 示例2: 輸入: nums1 = [4,9,5], nums2

原创 LeetCode 622. 設計循環隊列

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

原创 LeetCode 98. 驗證二叉搜索樹

98. 驗證二叉搜索樹 給定一個二叉樹,判斷其是否是一個有效的二叉搜索樹。 假設一個二叉搜索樹具有如下特徵: 節點的左子樹只包含小於當前節點的數。 節點的右子樹只包含大於當前節點的數。 所有左子樹和右子樹自身必須也是二叉搜索樹。 示

原创 LeetCode 450. 刪除二叉搜索樹中的節點

450. 刪除二叉搜索樹中的節點 給定一個二叉搜索樹的根節點 root 和一個值 key,刪除二叉搜索樹中的 key 對應的節點,並保證二叉搜索樹的性質不變。返回二叉搜索樹(有可能被更新)的根節點的引用。 一般來說,刪除節點可分爲兩個步

原创 LeetCode 933. 最近的請求次數

933. 最近的請求次數 寫一個 RecentCounter 類來計算最近的請求。 它只有一個方法:ping(int t),其中 t 代表以毫秒爲單位的某個時間。 返回從 3000 毫秒前到現在的 ping 數。 任何處於 [t - 3

原创 LeetCode 701. 二叉搜索樹中的插入操作

701. 二叉搜索樹中的插入操作 給定二叉搜索樹(BST)的根節點和要插入樹中的值,將值插入二叉搜索樹。 返回插入後二叉搜索樹的根節點。 保證原始二叉搜索樹中不存在新值。 注意,可能存在多種有效的插入方式,只要樹在插入後仍保持爲二叉搜索

原创 LeetCode 637. 二叉樹的層平均值

637. 二叉樹的層平均值 給定一個非空二叉樹, 返回一個由每層節點平均值組成的數組. 示例: 輸入: 3 / \ 9 20 / \ 15 7 輸出: [3, 14.5, 11] 解釋: 第0層的

原创 LeetCode 235. 二叉搜索樹的最近公共祖先

235. 二叉搜索樹的最近公共祖先 給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩個結點 p、q,最近公共祖先表示爲一個結點 x,滿足 x 是 p、q 的祖先且 x

原创 LeetCode 897. 遞增順序查找樹

897. 遞增順序查找樹 給定一個樹,按中序遍歷重新排列樹,使樹中最左邊的結點現在是樹的根,並且每個結點沒有左子結點,只有一個右子結點。 例如,給定如下二叉搜索樹: root = [6,2,8,0,4,7,9,null,null,3,

原创 LeetCode 107. 二叉樹的層次遍歷 II

107. 二叉樹的層次遍歷 II 給定一個二叉樹,返回其節點值自底向上的層次遍歷。 (即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷) 例如: 給定二叉樹 [3,9,20,null,null,15,7], 3 /

原创 LeetCode 677. 鍵值映射

677. 鍵值映射 實現一個 MapSum 類裏的兩個方法,insert 和 sum。 對於方法 insert,你將得到一對(字符串,整數)的鍵值 對。字符串表示鍵,整數表示值。如果鍵已經存在,那麼原來的鍵值對將被替代成新的鍵值對。 對

原创 LeetCode 669. 修剪二叉搜索樹

669. 修剪二叉搜索樹 給定一個二叉搜索樹,同時給定最小邊界L 和最大邊界 R。通過修剪二叉搜索樹,使得所有節點的值在[L, R]中 (R>=L) 。你可能需要改變樹的根節點,所以結果應當返回修剪好的二叉搜索樹的新的根節點。 示例1:

原创 LeetCode 965. 單值二叉樹

965. 單值二叉樹 如果二叉樹每個節點都具有相同的值,那麼該二叉樹就是單值二叉樹。 只有給定的樹是單值二叉樹時,才返回 true;否則返回 false。 示例1: 輸入:[1,1,1,1,1,null,1] 輸出:true 示例2

原创 LeetCode 104. 二叉樹的最大深度

104. 二叉樹的最大深度 給定一個二叉樹,找出其最大深度。 二叉樹的深度爲根節點到最遠葉子節點的最長路徑上的節點數。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹 [3,9,20,null,null,15,7],