LeetCode 題目總結/分類
利用堆棧:
http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/
http://oj.leetcode.com/problems/longest-valid-parentheses/ (也可以用一維數組,貪心)
http://oj.leetcode.com/problems/valid-parentheses/
http://oj.leetcode.com/problems/largest-rectangle-in-histogram/
特別注意細節: http://oj.leetcode.com/problems/trapping-rain-water/
多種數據結構:
http://oj.leetcode.com/problems/lru-cache/
http://oj.leetcode.com/problems/substring-with-concatenation-of-all-words/ (注意遍歷方法)
HASH: http://oj.leetcode.com/problems/longest-consecutive-sequence/
簡單編程:
http://oj.leetcode.com/problems/longest-common-prefix/
http://oj.leetcode.com/problems/string-to-integer-atoi/ (分析,控制語句)
排序 & 查找:
二分查找: http://oj.leetcode.com/problems/search-a-2d-matrix/
二分查找進階: http://oj.leetcode.com/problems/search-for-a-range/
二分查找應用: http://oj.leetcode.com/problems/sqrtx/
二分查找應用: http://oj.leetcode.com/problems/search-insert-position/
二分查找變種: http://oj.leetcode.com/problems/search-in-rotated-sorted-array/
二分查找變種: http://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/
簡單數學:
http://oj.leetcode.com/problems/pascals-triangle/
http://oj.leetcode.com/problems/pascals-triangle-ii/
http://oj.leetcode.com/problems/powx-n/
http://oj.leetcode.com/problems/reverse-integer/
http://oj.leetcode.com/problems/plus-one/
http://oj.leetcode.com/problems/unique-paths/
http://oj.leetcode.com/problems/palindrome-number/
http://oj.leetcode.com/problems/permutation-sequence/
http://oj.leetcode.com/problems/merge-intervals/
http://oj.leetcode.com/problems/valid-number/
http://oj.leetcode.com/problems/climbing-stairs/
http://oj.leetcode.com/problems/roman-to-integer/
http://oj.leetcode.com/problems/integer-to-roman/
http://oj.leetcode.com/problems/divide-two-integers/
區間: http://oj.leetcode.com/problems/insert-interval/
大數的數學運算:
http://oj.leetcode.com/problems/add-binary/
http://oj.leetcode.com/problems/add-two-numbers/
數組:
http://oj.leetcode.com/problems/remove-element/
http://oj.leetcode.com/problems/merge-sorted-array/
http://oj.leetcode.com/problems/first-missing-positive/
http://oj.leetcode.com/problems/spiral-matrix/
http://oj.leetcode.com/problems/spiral-matrix-ii/
http://oj.leetcode.com/problems/rotate-image/
遍歷技巧: http://oj.leetcode.com/problems/container-with-most-water/
http://oj.leetcode.com/problems/two-sum/
http://oj.leetcode.com/problems/3sum/
http://oj.leetcode.com/problems/3sum-closest/
http://oj.leetcode.com/problems/4sum/
http://oj.leetcode.com/problems/set-matrix-zeroes/
用好標記數組: http://oj.leetcode.com/problems/valid-sudoku/
http://oj.leetcode.com/problems/next-permutation/
http://oj.leetcode.com/problems/word-search/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/
http://oj.leetcode.com/problems/sort-colors/
暴力方法/細節實現:
http://oj.leetcode.com/problems/max-points-on-a-line/
鏈表:
歸並排序: http://oj.leetcode.com/problems/sort-list/
插入排序: http://oj.leetcode.com/problems/insertion-sort-list/
反轉、插入: http://oj.leetcode.com/problems/reorder-list/
檢測是否有環: http://oj.leetcode.com/problems/linked-list-cycle/
確定鏈表環的起點: http://oj.leetcode.com/problems/linked-list-cycle-ii/
Deep Copy 帶有隨機指針的鏈表: http://oj.leetcode.com/problems/copy-list-with-random-pointer/
鏈表細節: http://oj.leetcode.com/problems/rotate-list/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/
刪除細節: http://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
http://oj.leetcode.com/problems/partition-list/
http://oj.leetcode.com/problems/swap-nodes-in-pairs/
Merge 兩個鏈表: http://oj.leetcode.com/problems/merge-two-sorted-lists/
Merge 多鏈表: http://oj.leetcode.com/problems/merge-k-sorted-lists/
細節: http://oj.leetcode.com/problems/reverse-nodes-in-k-group/
http://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/
http://oj.leetcode.com/problems/reverse-linked-list-ii/
二叉樹遍歷:遞歸 & 非遞歸
http://oj.leetcode.com/problems/same-tree/
前序: http://oj.leetcode.com/problems/binary-tree-preorder-traversal/
中序: http://oj.leetcode.com/problems/binary-tree-inorder-traversal/
后序: http://oj.leetcode.com/problems/binary-tree-postorder-traversal/
遍歷變種: http://oj.leetcode.com/problems/sum-root-to-leaf-numbers/
遍歷變種: http://oj.leetcode.com/problems/path-sum/
遍歷變種: http://oj.leetcode.com/problems/path-sum-ii/
遍歷變種: http://oj.leetcode.com/problems/maximum-depth-of-binary-tree/
遍歷變種: http://oj.leetcode.com/problems/minimum-depth-of-binary-tree/
重建二叉樹: http://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/
重建二叉樹: http://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/
層次遍歷變種: http://oj.leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
遍歷變種: http://oj.leetcode.com/problems/symmetric-tree/
遍歷應用: http://oj.leetcode.com/problems/binary-tree-maximum-path-sum/
遍歷應用: http://oj.leetcode.com/problems/balanced-binary-tree/
遍歷應用: http://oj.leetcode.com/problems/recover-binary-search-tree/
遍歷應用: http://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/
level遍歷: http://oj.leetcode.com/problems/binary-tree-level-order-traversal/
level 遍歷: http://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/
level 遍歷變種: http://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/
level 遍歷變種: http://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/
問題分析/智商/細節:
http://oj.leetcode.com/problems/single-number/
http://oj.leetcode.com/problems/single-number-ii/
http://oj.leetcode.com/problems/candy/ ?
http://oj.leetcode.com/problems/gas-station/
動態規划:
http://oj.leetcode.com/problems/triangle/ (最短路徑)
http://oj.leetcode.com/problems/subsets/ (另一種形式)
http://oj.leetcode.com/problems/subsets-ii/
http://oj.leetcode.com/problems/edit-distance/ (經典)
http://oj.leetcode.com/problems/word-break/
http://oj.leetcode.com/problems/word-break-ii/
http://oj.leetcode.com/problems/unique-binary-search-trees/ (動態規划避免遞歸)
http://oj.leetcode.com/problems/unique-paths-ii/
http://oj.leetcode.com/problems/scramble-string/
http://oj.leetcode.com/problems/palindrome-partitioning/
http://oj.leetcode.com/problems/palindrome-partitioning-ii/
http://oj.leetcode.com/problems/interleaving-string/
http://oj.leetcode.com/problems/distinct-subsequences/
http://oj.leetcode.com/problems/decode-ways/
http://oj.leetcode.com/problems/gray-code/
http://oj.leetcode.com/problems/minimum-path-sum/
回溯:
http://oj.leetcode.com/problems/combinations/
http://oj.leetcode.com/problems/generate-parentheses/
http://oj.leetcode.com/problems/combination-sum/
http://oj.leetcode.com/problems/combination-sum-ii/
http://oj.leetcode.com/problems/sudoku-solver/
經典N皇后: http://oj.leetcode.com/problems/n-queens/
http://oj.leetcode.com/problems/n-queens-ii/
http://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/
貪心:
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock/
http://oj.leetcode.com/problems/jump-game/
http://oj.leetcode.com/problems/jump-game-ii/
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/
http://oj.leetcode.com/problems/maximum-subarray/
http://oj.leetcode.com/problems/minimum-window-substring/
http://oj.leetcode.com/problems/maximal-rectangle/
http://oj.leetcode.com/problems/longest-substring-without-repeating-characters/
分治 & 遞歸:
http://oj.leetcode.com/problems/unique-binary-search-trees-ii/
http://oj.leetcode.com/problems/restore-ip-addresses/ (時間復雜度有限,遞歸滿足)
http://oj.leetcode.com/problems/permutations/
http://oj.leetcode.com/problems/permutations-ii/
http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
http://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/
http://oj.leetcode.com/problems/median-of-two-sorted-arrays/
http://oj.leetcode.com/problems/validate-binary-search-tree/
字符串:
http://oj.leetcode.com/problems/count-and-say/
http://oj.leetcode.com/problems/implement-strstr/ (子串查找)
http://oj.leetcode.com/problems/anagrams/
http://oj.leetcode.com/problems/text-justification/ (細節)
http://oj.leetcode.com/problems/simplify-path/ (基礎控制語句 if-else-for)
http://oj.leetcode.com/problems/multiply-strings/
http://oj.leetcode.com/problems/regular-expression-matching/
http://oj.leetcode.com/problems/wildcard-matching/
http://oj.leetcode.com/problems/longest-palindromic-substring/
http://oj.leetcode.com/problems/zigzag-conversion/
http://oj.leetcode.com/problems/length-of-last-word/
http://oj.leetcode.com/problems/valid-palindrome/
圖:
深搜/廣搜: http://oj.leetcode.com/problems/clone-graph/
搜索 & 遍歷:
http://oj.leetcode.com/problems/word-ladder/
http://oj.leetcode.com/problems/word-ladder-ii/
廣搜: http://oj.leetcode.com/problems/surrounded-regions/
http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/
http://oj.leetcode.com/problems/longest-valid-parentheses/ (也可以用一維數組,貪心)
http://oj.leetcode.com/problems/valid-parentheses/
http://oj.leetcode.com/problems/largest-rectangle-in-histogram/
特別注意細節: http://oj.leetcode.com/problems/trapping-rain-water/
多種數據結構:
http://oj.leetcode.com/problems/lru-cache/
http://oj.leetcode.com/problems/substring-with-concatenation-of-all-words/ (注意遍歷方法)
HASH: http://oj.leetcode.com/problems/longest-consecutive-sequence/
簡單編程:
http://oj.leetcode.com/problems/longest-common-prefix/
http://oj.leetcode.com/problems/string-to-integer-atoi/ (分析,控制語句)
排序 & 查找:
二分查找: http://oj.leetcode.com/problems/search-a-2d-matrix/
二分查找進階: http://oj.leetcode.com/problems/search-for-a-range/
二分查找應用: http://oj.leetcode.com/problems/sqrtx/
二分查找應用: http://oj.leetcode.com/problems/search-insert-position/
二分查找變種: http://oj.leetcode.com/problems/search-in-rotated-sorted-array/
二分查找變種: http://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/
簡單數學:
http://oj.leetcode.com/problems/pascals-triangle/
http://oj.leetcode.com/problems/pascals-triangle-ii/
http://oj.leetcode.com/problems/powx-n/
http://oj.leetcode.com/problems/reverse-integer/
http://oj.leetcode.com/problems/plus-one/
http://oj.leetcode.com/problems/unique-paths/
http://oj.leetcode.com/problems/palindrome-number/
http://oj.leetcode.com/problems/permutation-sequence/
http://oj.leetcode.com/problems/merge-intervals/
http://oj.leetcode.com/problems/valid-number/
http://oj.leetcode.com/problems/climbing-stairs/
http://oj.leetcode.com/problems/roman-to-integer/
http://oj.leetcode.com/problems/integer-to-roman/
http://oj.leetcode.com/problems/divide-two-integers/
區間: http://oj.leetcode.com/problems/insert-interval/
大數的數學運算:
http://oj.leetcode.com/problems/add-binary/
http://oj.leetcode.com/problems/add-two-numbers/
數組:
http://oj.leetcode.com/problems/remove-element/
http://oj.leetcode.com/problems/merge-sorted-array/
http://oj.leetcode.com/problems/first-missing-positive/
http://oj.leetcode.com/problems/spiral-matrix/
http://oj.leetcode.com/problems/spiral-matrix-ii/
http://oj.leetcode.com/problems/rotate-image/
遍歷技巧: http://oj.leetcode.com/problems/container-with-most-water/
http://oj.leetcode.com/problems/two-sum/
http://oj.leetcode.com/problems/3sum/
http://oj.leetcode.com/problems/3sum-closest/
http://oj.leetcode.com/problems/4sum/
http://oj.leetcode.com/problems/set-matrix-zeroes/
用好標記數組: http://oj.leetcode.com/problems/valid-sudoku/
http://oj.leetcode.com/problems/next-permutation/
http://oj.leetcode.com/problems/word-search/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/
http://oj.leetcode.com/problems/sort-colors/
暴力方法/細節實現:
http://oj.leetcode.com/problems/max-points-on-a-line/
鏈表:
歸並排序: http://oj.leetcode.com/problems/sort-list/
插入排序: http://oj.leetcode.com/problems/insertion-sort-list/
反轉、插入: http://oj.leetcode.com/problems/reorder-list/
檢測是否有環: http://oj.leetcode.com/problems/linked-list-cycle/
確定鏈表環的起點: http://oj.leetcode.com/problems/linked-list-cycle-ii/
Deep Copy 帶有隨機指針的鏈表: http://oj.leetcode.com/problems/copy-list-with-random-pointer/
鏈表細節: http://oj.leetcode.com/problems/rotate-list/
http://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/
刪除細節: http://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
http://oj.leetcode.com/problems/partition-list/
http://oj.leetcode.com/problems/swap-nodes-in-pairs/
Merge 兩個鏈表: http://oj.leetcode.com/problems/merge-two-sorted-lists/
Merge 多鏈表: http://oj.leetcode.com/problems/merge-k-sorted-lists/
細節: http://oj.leetcode.com/problems/reverse-nodes-in-k-group/
http://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/
http://oj.leetcode.com/problems/reverse-linked-list-ii/
二叉樹遍歷:遞歸 & 非遞歸
http://oj.leetcode.com/problems/same-tree/
前序: http://oj.leetcode.com/problems/binary-tree-preorder-traversal/
中序: http://oj.leetcode.com/problems/binary-tree-inorder-traversal/
后序: http://oj.leetcode.com/problems/binary-tree-postorder-traversal/
遍歷變種: http://oj.leetcode.com/problems/sum-root-to-leaf-numbers/
遍歷變種: http://oj.leetcode.com/problems/path-sum/
遍歷變種: http://oj.leetcode.com/problems/path-sum-ii/
遍歷變種: http://oj.leetcode.com/problems/maximum-depth-of-binary-tree/
遍歷變種: http://oj.leetcode.com/problems/minimum-depth-of-binary-tree/
重建二叉樹: http://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/
重建二叉樹: http://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/
層次遍歷變種: http://oj.leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
遍歷變種: http://oj.leetcode.com/problems/symmetric-tree/
遍歷應用: http://oj.leetcode.com/problems/binary-tree-maximum-path-sum/
遍歷應用: http://oj.leetcode.com/problems/balanced-binary-tree/
遍歷應用: http://oj.leetcode.com/problems/recover-binary-search-tree/
遍歷應用: http://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/
level遍歷: http://oj.leetcode.com/problems/binary-tree-level-order-traversal/
level 遍歷: http://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/
level 遍歷變種: http://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/
level 遍歷變種: http://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/
問題分析/智商/細節:
http://oj.leetcode.com/problems/single-number/
http://oj.leetcode.com/problems/single-number-ii/
http://oj.leetcode.com/problems/candy/ ?
http://oj.leetcode.com/problems/gas-station/
動態規划:
http://oj.leetcode.com/problems/triangle/ (最短路徑)
http://oj.leetcode.com/problems/subsets/ (另一種形式)
http://oj.leetcode.com/problems/subsets-ii/
http://oj.leetcode.com/problems/edit-distance/ (經典)
http://oj.leetcode.com/problems/word-break/
http://oj.leetcode.com/problems/word-break-ii/
http://oj.leetcode.com/problems/unique-binary-search-trees/ (動態規划避免遞歸)
http://oj.leetcode.com/problems/unique-paths-ii/
http://oj.leetcode.com/problems/scramble-string/
http://oj.leetcode.com/problems/palindrome-partitioning/
http://oj.leetcode.com/problems/palindrome-partitioning-ii/
http://oj.leetcode.com/problems/interleaving-string/
http://oj.leetcode.com/problems/distinct-subsequences/
http://oj.leetcode.com/problems/decode-ways/
http://oj.leetcode.com/problems/gray-code/
http://oj.leetcode.com/problems/minimum-path-sum/
回溯:
http://oj.leetcode.com/problems/combinations/
http://oj.leetcode.com/problems/generate-parentheses/
http://oj.leetcode.com/problems/combination-sum/
http://oj.leetcode.com/problems/combination-sum-ii/
http://oj.leetcode.com/problems/sudoku-solver/
經典N皇后: http://oj.leetcode.com/problems/n-queens/
http://oj.leetcode.com/problems/n-queens-ii/
http://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/
貪心:
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock/
http://oj.leetcode.com/problems/jump-game/
http://oj.leetcode.com/problems/jump-game-ii/
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
http://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/
http://oj.leetcode.com/problems/maximum-subarray/
http://oj.leetcode.com/problems/minimum-window-substring/
http://oj.leetcode.com/problems/maximal-rectangle/
http://oj.leetcode.com/problems/longest-substring-without-repeating-characters/
分治 & 遞歸:
http://oj.leetcode.com/problems/unique-binary-search-trees-ii/
http://oj.leetcode.com/problems/restore-ip-addresses/ (時間復雜度有限,遞歸滿足)
http://oj.leetcode.com/problems/permutations/
http://oj.leetcode.com/problems/permutations-ii/
http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
http://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/
http://oj.leetcode.com/problems/median-of-two-sorted-arrays/
http://oj.leetcode.com/problems/validate-binary-search-tree/
字符串:
http://oj.leetcode.com/problems/count-and-say/
http://oj.leetcode.com/problems/implement-strstr/ (子串查找)
http://oj.leetcode.com/problems/anagrams/
http://oj.leetcode.com/problems/text-justification/ (細節)
http://oj.leetcode.com/problems/simplify-path/ (基礎控制語句 if-else-for)
http://oj.leetcode.com/problems/multiply-strings/
http://oj.leetcode.com/problems/regular-expression-matching/
http://oj.leetcode.com/problems/wildcard-matching/
http://oj.leetcode.com/problems/longest-palindromic-substring/
http://oj.leetcode.com/problems/zigzag-conversion/
http://oj.leetcode.com/problems/length-of-last-word/
http://oj.leetcode.com/problems/valid-palindrome/
圖:
深搜/廣搜: http://oj.leetcode.com/problems/clone-graph/
搜索 & 遍歷:
http://oj.leetcode.com/problems/word-ladder/
http://oj.leetcode.com/problems/word-ladder-ii/
廣搜: http://oj.leetcode.com/problems/surrounded-regions/