↓快轉到主要內容

LeetCode

LeetCode 257: Binary Tree Paths
·1 分鐘
LeetCode Easy String Backtracking Tree Depth-First-Search
LeetCode 257 解題筆記:DFS 帶著目前的路徑字串往下,到葉子時把整條路徑加進答案
LeetCode 242: Valid Anagram
·1 分鐘
LeetCode Easy Hash-Table String Sorting
LeetCode 242 解題筆記:兩個字串的字元次數完全相同就是 anagram,用 Counter 比較或排序後比較
LeetCode 237: Delete Node in a Linked List
·1 分鐘
LeetCode Medium Linked-List
LeetCode 237 解題筆記:拿不到前一個節點,就把下一個節點的值複製過來,再刪掉下一個節點
LeetCode 235: Lowest Common Ancestor of a Binary Search Tree
·1 分鐘
LeetCode Medium Tree Depth-First-Search Binary-Search-Tree Binary-Tree
LeetCode 235 解題筆記:p、q 都比節點小就往左,都比節點大就往右,否則(一邊一個或其中一個就是自己)這個節點就是 LCA
LeetCode 234: Palindrome Linked List
·1 分鐘
LeetCode Easy Linked-List Two-Pointers Stack Recursion
LeetCode 234 解題筆記:快慢指針找中點,反轉後半段,再從兩端往中間比;O(1) 額外空間
LeetCode 232: Implement Queue using Stacks
·1 分鐘
LeetCode Easy Stack Design Queue
LeetCode 232 解題筆記:兩個 stack:in 負責 push,out 空的時候才把 in 全部倒過去,均攤 O(1)
LeetCode 231: Power of Two
·1 分鐘
LeetCode Easy Math Bit-Manipulation Recursion
LeetCode 231 解題筆記:2 的次方只有一個位元是 1,n & (n - 1) 會把最低的 1 消掉,結果是 0 就是;n 要是正數
LeetCode 228: Summary Ranges
·1 分鐘
LeetCode Easy Array
LeetCode 228 解題筆記:掃一次,和前一個數連續就延長目前的區間,否則開一個新的區間,最後轉成字串
LeetCode 226: Invert Binary Tree
·1 分鐘
LeetCode Easy Tree Depth-First-Search Breadth-First-Search Binary-Tree
LeetCode 226 解題筆記:每個節點交換左右小孩;用同時指定,避免先改掉的那邊被拿來用
LeetCode 225: Implement Stack using Queues
·1 分鐘
LeetCode Easy Stack Design Queue
LeetCode 225 解題筆記:一個 queue 就夠:push 之後把前面的元素全部轉到後面,新元素就到了隊首
LeetCode 219: Contains Duplicate II
·1 分鐘
LeetCode Easy Array Hash-Table Sliding-Window
LeetCode 219 解題筆記:雜湊表記錄每個值最後一次出現的位置,只需要跟最近的那次比距離
LeetCode 217: Contains Duplicate
·1 分鐘
LeetCode Easy Array Hash-Table Sorting
LeetCode 217 解題筆記:轉成 set 後長度變短就代表有重複