LeetCode - Top K Frequent Elements(前 K 個出現頻率最高的元素)
題目描述 給定一個整數數組 nums 和一個整數 k,返回出現頻率最高的 k 個元素。返回的答案可以按任意順序排列。 範例: 輸入:nums = [1,1,1,2,2,3], k = 2 輸出:[1,2] 輸入:nums = [1], k = 1 輸出:[1] 限制: 1 <= nums.length <= 10^5 k 的範圍是 [1, the number...
題目描述 給定一個整數數組 nums 和一個整數 k,返回出現頻率最高的 k 個元素。返回的答案可以按任意順序排列。 範例: 輸入:nums = [1,1,1,2,2,3], k = 2 輸出:[1,2] 輸入:nums = [1], k = 1 輸出:[1] 限制: 1 <= nums.length <= 10^5 k 的範圍是 [1, the number...
題目描述 給定一個遞增排序的整數數組,將其轉換為一棵高度平衡的二元搜尋樹(BST)。高度平衡的意思是:每個節點的左右子樹高度差不超過 1。 範例: 輸入:nums = [-10, -3, 0, 5, 9] 輸出:[0, -3, 9, -10, null, 5] 解釋:[0, -10, 5, null, -3, null, 9] 也是正確答案。 解法思路 利用二元搜尋樹和數組的特性,我...
題目描述 給定一個二元搜尋樹(BST)的根節點以及兩個節點 p 和 q,找到它們的最低公共祖先(LCA)。 在二元搜尋樹中,最低公共祖先(LCA)定義為距離 p 和 q 最近的節點,且該節點是 p 和 q 的祖先。由於是二元搜尋樹,因此有以下特性: 對於每個節點 N,左子樹的所有節點值小於 N.val,右子樹的所有節點值大於 N.val。 範例: 輸入:root = [6,2,...
題目描述 給定一棵二元搜尋樹(BST)和一個整數 k,找出該樹中的第 k 小的元素。 範例: 輸入:root = [3,1,4,null,2], k = 1 輸出:1 輸入:root = [5,3,6,2,4,null,null,1], k = 3 輸出:3 限制: 樹中節點的數量範圍是 [1, 10^4]。 每個節點的值都是唯一的,且都為正數。 k 的值總是有效的,...
題目描述 給定一個二元樹的根節點,判斷該樹是否為有效的二元搜尋樹(BST)。 一個二元搜尋樹應滿足以下條件: 對於每個節點,其左子樹中的所有節點值小於該節點的值。 對於每個節點,其右子樹中的所有節點值大於該節點的值。 左右子樹也必須是二元搜尋樹。 範例: 輸入: root = [2,1,3] 輸出:true 輸入: root = [5,1,4,null...
題目描述 給定一個二元樹的根節點和兩個節點 p 和 q,找到這兩個節點的最低公共祖先(LCA)。 在一棵二元樹中,節點 p 和 q 的最低公共祖先是距離 p 和 q 最近的節點,且這個節點是 p 和 q 的祖先。節點可以是它自己的祖先。 範例: 輸入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1 輸出:3 解釋:節點 5...
題目描述 設計一種算法來將二元樹轉換為字符串(序列化)並將字符串轉換回二元樹(反序列化)。 要求: 需要實現 serialize(root) 和 deserialize(data) 兩個函數。 serialize(root) 將一棵二元樹轉換為字符串。 deserialize(data) 將字符串轉換回原本的二元樹結構。 範例: 輸入:root = [1,2,3,nul...
題目描述 給定一個二元樹,返回其節點值的層次遍歷結果(即從上到下,逐層訪問每一層的節點)。 範例: 輸入: 3 / \ 9 20 / \ 15 7 輸出:[[3], [9, 20], [15, 7]] 限制: 樹中節點的數量範圍是 [0, 2000]。 節點的值範圍是 [-1000, 1000]。 解法思路 可以使用廣度優先搜索...
題目描述 給定一個二元樹,翻轉該樹,即將每個節點的左右子樹交換。返回翻轉後的樹的根節點。 範例: 輸入: 4 / \ 2 7 / \ / \ 1 3 6 9 輸出: 4 / \ 7 2 / \ / \ 9 6 3 1 限制: 節點的數量範圍是 [0, 100]。 節點值範圍是 [-...
題目描述 給定一個二元樹,找出其最大深度。二元樹的深度是從根節點到最遠葉節點的最長路徑上的節點數。 範例: 輸入:root = [3,9,20,null,null,15,7] 輸出:3 解釋:此二元樹的最大深度為 3。 輸入:root = [1,null,2] 輸出:2 限制: 二元樹的節點數量範圍是 [0, 10^4]。 樹的深度範圍不限,樹可能是空的。 解法思路...