Leetcode JS
算法 如下
- 基础技巧:分治、二分、贪心
- 排序算法:快速排序、归并排序、计数排序
- 搜索算法:回溯、递归、深度优先遍历,广度优先遍历,二叉搜索树等
- 图论:最短路径、最小生成树
- 动态规划:背包问题、最长子序列 数据结构 如下
- 数组与链表:单 / 双向链表栈与队列
- 哈希表
- 堆:最大堆 / 最小堆
- 树与图:最近公共祖先、并查集
- 字符串:前缀树(字典树) / 后缀树
Array
- 1. Two Sum
- 11. Container With Most Water
- 13. Roman to Integer
- 15. 3Sum
- 18. 4sum
- 28. Implement strStr()
- 31. Next Permutation
- 41. First Missing Positive
- 66. Plus One
- 88. Merge Sorted Array
- 122. Best Time to Buy and Sell Stock II
- 189. Rotate Array
- 215. Kth Largest Element in an Array
- 287. Find the Duplicate Number
- 349. Intersection of Two Arrays
- 448. Find All Numbers Disappeared in an Array
- 670. Maximum Swap
- 912. Sort an Array
2 pointers
- 19. Remove Nth Node From End of List
- 26. Remove Duplicates from Sorted Array
- 27. Remove Element
- 206. Reverse Linked List
- 283. Move Zeroes
- 344. Reverse String
Sort
Hash Table / Dict
- 3. Longest Substring without Repeating Characters
- 36. Valid Sudoku
- 49. Group Anagrams
- 169. Majority Element
- 205. Isomorphic Strings
- 211. Add and Search Word - Data structure design
- 217. Contains Duplicate
- 387. First Unique Character in a String
- 454. 4Sum II
- 720. Longest Word in Dictionary
DFS (Deep First Search)+Backtracking
- 22. Generate Parentheses
- 39. Combination Sum
- 40. Combination Sum II
- 46. Permutations
- 47. Permutations II
- 60. Permutation Sequence
- 77. Combinations
- 78. Subsets !!
- 79. Word Search !!!
- 90. Subsets II
- 93. Restore IP Addresses
- 110. Balanced Binary Tree
- 112. Path Sum
- 129. Sum Root to Leaf Numbers
- 130. Surrounded Regions
- 131. Palindrome Partitioning
- 216. Combination Sum III
- 306. Additive Number !!
- 329. Longest Increasing Path in a Matrix
- 401. Binary Watch
- 543. Diameter of Binary Tree !!
- 784. Letter Case Permutation
LinkedList
- 21. Merge Two Sorted Lists
- 23. Merge k Sorted Lists
- 25. Reverse Nodes in k-Group
- 92. Reverse Linked List II
- 141. Linked List Cycle
- 142. Linked List Cycle II
- 143. Reorder List !!!
- 146. LRU Cache !!!
- 160. Intersection of Two Linked Lists !!!
- 206. Reverse Linked List
- 445. Add Two Numbers II
Stack
Tree
- 94. Binary Tree Inorder Traversal
- 102. Binary Tree Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal !!!
- 104. Maximum Depth of Binary Tree
- 107. Binary Tree Level Order Traversal II
- 111. Minimum Depth of Binary Tree
- 199. Binary Tree Right Side View
- 226. Invert Binary Tree
- 236. Lowest Common Ancestor of a Binary Tree !!!
- 314. Binary Tree Vertical Order Traversal
- 572. Subtree of Another Tree
- 637. Average of Levels in Binary Tree
Binary Search
- 33. Search in Rotated Sorted Array
- 34. Find First and Last Position of Element in Sorted Array
- 109. Convert Sorted List to Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree
- 378. Kth Smallest Element in a Sorted Matrix !! divide & binary search
- 617. Merge Two Binary Trees
RegExp
DP
- 5. Longest Palindromic Substring
- 32. Longest Valid Parentheses
- 53. Maximum Subarray !!
- 62. Unique Paths !!
- 63. Unique Paths II
- 70. Climbing Stairs
- 96. Unique Binary Search Tree
- 121. Best Time to Buy and Sell Stock
- 309. Best Time to Buy and Sell Stock with Cooldown !!!
- 343. Integer Break
Divide and Conquer
Graph
Bitwise
Uncategoried
- 12. Integer to Roman
- 14. Longest Common Prefix
- 14. Longest Common Prefix
- 17. Letter Combinations of a Phone Number
- 416. Partition Equal Subset Sum
- 980. Unique Paths III (yet)
- 1057. Campus Bikes
Archived
SKIP or BAD
- 38. Count and Say
- 58. Length of Last Word
- 89. Gray Code (meaningless)
- 237. Delete Node in a Linked List
- 268. Missing Number Math, =l*(l+1)/2-sum(nums)
- 412. Fizz Buzz
- 595. Big Countries (MySQL)
- 812. Largest Triangle Area (google)