原创 【二叉樹】LeetCode 104. 二叉樹的最大深度【簡單】

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

原创 【二叉樹】LeetCode 101. 對稱二叉樹【簡單】

給你一個二叉樹的根節點 root , 檢查它是否軸對稱。 示例 1: 輸入:root = [1,2,2,3,4,4,3] 輸出:true 示例 2:   輸入:root = [1,2,2,null,3,null,3]輸出:false 

原创 【二叉樹】LeetCode 94. 二叉樹的中序遍歷【簡單】

給定一個二叉樹的根節點 root ,返回 它的 中序 遍歷 。 示例1:   輸入:root = [1,null,2,3]輸出:[1,3,2] 示例 2: 輸入:root = []輸出:[] 示例 3: 輸入:root = [1]輸出:[

原创 【哈希表】LeetCode 560. 和爲K的子數組【中等】

給你一個整數數組 nums 和一個整數 k ,請你統計並返回 該數組中和爲 k 的子數組的個數 。   示例 1: 輸入:nums = [1,1,1], k = 2輸出:2 示例 2: 輸入:nums = [1,2,3], k = 3輸出:

原创 【哈希表】LeetCode 141. 環形鏈表【簡單】

給你一個鏈表的頭節點 head ,判斷鏈表中是否有環。 如果鏈表中有某個節點,可以通過連續跟蹤 next 指針再次到達,則鏈表中存在環。 爲了表示給定鏈表中的環,評測系統內部使用整數 pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始

原创 【哈希表】leetcode 128. 最長連續序列【中等】

給定一個未排序的整數數組 nums ,找出數字連續的最長序列(不要求序列元素在原數組中連續)的長度。 請你設計並實現時間複雜度爲 O(n) 的算法解決此問題。   示例 1: 輸入:nums = [100,4,200,1,3,2]輸出:4解

原创 【哈希表】LeetCode 49. 字母異位詞分組【中等】

給你一個字符串數組,請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。 字母異位詞 是由重新排列源單詞的字母得到的一個新單詞,所有源單詞中的字母通常恰好只用一次。 示例 1: 輸入: strs = ["eat", "tea", "

原创 【隊列&棧】LeetCode 85. 最大矩形【困難】

給定一個僅包含 0 和 1 、大小爲 rows * cols 的二維二進制矩陣,找出只包含 1 的最大矩形,並返回其面積。 示例 1:   輸入:matrix = [["1","0","1","0","0"],["1","0","1","

原创 【棧&隊列】LeetCode 394. 字符串編碼【中等】

示例 1: 輸入:s = "3[a]2[bc]"輸出:"aaabcbc"示例 2: 輸入:s = "3[a2[c]]"輸出:"accaccacc"示例 3: 輸入:s = "2[abc]3[cd]ef"輸出:"abcabccdcdcdef"

原创 【隊列&棧】LeetCode 84. 柱狀圖中最大的矩形【困難】

給定 n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度爲 1 。 求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。 示例1: 輸入:heights = [2,1,5,6,2,3] 輸出:10 解釋:最大的矩形爲圖中紅

原创 【鏈表】LeetCode 148. 排序鏈表【中等】

給你鏈表的頭結點 head ,請將其按 升序 排列並返回 排序後的鏈表 。 示例1: 輸入:head = [4,2,1,3] 輸出:[1,2,3,4]    示例2: 輸入:head = [-1,5,3,4,0] 輸出:[-1,0,3,

原创 【數組&雙指針】leetcode 283. 移動零【簡單】

給定一個數組 nums,編寫一個函數將所有0移動到數組的末尾,同時保持非零元素的相對順序。 請注意 ,必須在不復制數組的情況下原地對數組進行操作。   示例 1: 輸入: nums = [0,1,0,3,12]輸出: [1,3,12,0,0

原创 【鏈表】leetcode 19. 刪除鏈表的倒數第 N 個結點【中等】

給你一個鏈表,刪除鏈表的倒數第 n 個結點,並且返回鏈表的頭結點。 示例1:   輸入:head = [1,2,3,4,5], n = 2輸出:[1,2,3,5] 示例 2: 輸入:head = [1], n = 1輸出:[] 示例 3:

原创 【數組&雙指針】leetcode 234. 迴文鏈表【簡單】

給你一個單鏈表的頭節點 head ,請你判斷該鏈表是否爲迴文鏈表。如果是,返回 true ;否則,返回 false 。 示例 1: 輸入:head = [1,2,2,1] 輸出:true 示例2: 輸入:head = [1,2] 輸出:

原创 【數組&雙指針】LeetCode 142. 環形鏈表 II【中等】

給定一個鏈表的頭節點  head ,返回鏈表開始入環的第一個節點。 如果鏈表無環,則返回 null。 如果鏈表中有某個節點,可以通過連續跟蹤 next 指針再次到達,則鏈表中存在環。 爲了表示給定鏈表中的環,評測系統內部使用整數 pos 來