Array

  • 704. Binary Search [Easy]
  • 27. Remove Element [Easy] [TwoPointer]
  • 977. Squares of a Sorted Array [Easy] [TwoPointer]
  • 209. Minimum Size Subarray Sum [Medium] [SlidingWindow]
  • 59. Spiral Matrix II
  • 66. Plus One [Easy] [Array]
  • 118. Pascal's Triangle [Easy] [Array]
  • 118. Pascal's Triangle [Easy] [Array] -> try useing recursion

Linked

  • 203. Remove Linked List Elements [Easy] [TwoPointer] | [Recursive]
  • 707. Design Linked List
  • 206. Reverse Linked List
  • 24. Swap Nodes in Pairs [Medium] [Recursive]
  • 19. Remove Nth Node From End of List [Medium] [TwoPointer] | [Recursive]
  • 160. Intersection of Two Linked Lists [Easy] [TwoPointer] [Slow&FastPointer]
  • 142. Linked List Cycle II [Medium] [TwoPointer]

Hash table

  • 242. Valid Anagram [Easy] [HashTable]
  • 1002. Find Common Characters [Easy] [HashTabe]
  • 349. Intersection of Two Arrays [Easy] [HashTable]
  • 202. Happy Number [Easy] [Math] [HashTable]
  • 1. Two Sum [Easy] [HashTable]
  • 454. 4Sum II [Easy] [HashTable]
  • 383. Ransom Note [Easy] [HashTable]
  • 15. 3Sum [Easy] [HashTable]
  • 18. 4Sum
  • 12. Integer to Roman

String

  • 344. Reverse String [TwoPointer]
  • 541. Reverse String II [Easy] [TwoPointer]
  • 151. Reverse Words in a String
  • 28. Implement strStr()
  • 459. Repeated Substring Pattern

Two pointer

  • 27. Remove Element : array
  • 344. Reverse String : string
  • 151. Reverse Words in a String : string
  • 206. Reverse Linked List : linked
  • 19. Remove Nth Node From End of List : linked
  • 160. Intersection of Two Linked Lists : linked
  • 141. Linked List Cycle : linked
  • 142. Linked List Cycle II : linked
  • 15. 3Sum
  • 18. 4Sum
  • 2807. Insert Greatest Common Divisors in Linked List
  • 125. Valid Palindrome
  • 75. Sort Colors

Stack & Queue

  • 232. Implement Queue using Stacks
  • 225. Implement Stack using Queues
  • 20. Valid Parentheses
  • 1047. Remove All Adjacent Duplicates In String
  • 150. Evaluate Reverse Polish Notation
  • 239. Sliding Window Maximum
  • 347. Top K Frequent Elements

Binary tree

  • 144. Binary Tree Preorder Traversal
  • 145. Binary Tree Postorder Traversal
  • 94. Binary Tree Inorder Traversal
  • 226. Invert Binary Tree
  • 101. Symmetric Tree
  • 104. Maximum Depth of Binary Tree
  • 111. Minimum Depth of Binary Tree
  • 222. Count Complete Tree Nodes
  • 110. Balanced Binary Tree
  • 257. Binary Tree Paths
  • 513. Find Bottom Left Tree Value
  • 112. Path Sum
  • 106. Construct Binary Tree from Inorder and Postorder Traversal
  • 654. Maximum Binary Tree
  • 617. Merge Two Binary Trees
  • 700. Search in a Binary Search Tree
  • 98. Validate Binary Search Tree
  • 530. Minimum Absolute Difference in BST
  • 501. Find Mode in Binary Search Tree
  • 236. Lowest Common Ancestor of a Binary Tree
  • 235. Lowest Common Ancestor of a Binary Search Tree
  • 701. Insert into a Binary Search Tree
  • 450. Delete Node in a BST
  • 669. Trim a Binary Search Tree
  • 538. Convert BST to Greater Tree
  • 99. Recover Binary Search Tree

Backtracking

  • [R] 77. Combinations
  • 216. Combination Sum III
  • 17. Letter Combinations of a Phone Number
  • 39. Combination Sum
  • 40. Combination Sum II
  • [R] 131. Palindrome Partitioning
  • [R] 93. Restore IP Addresses
  • [R] 78. Subsets
  • 90. Subsets II
  • [R] 491. Non-decreasing Subsequences
  • 46. Permutations
  • [R] 47. Permutations II
  • 332. Reconstruct Itinerary
  • 51. N-Queens
  • 37. Sudoku Solver
  • 698.划分为k个相等的子集
  • 473.火柴拼正方形

Greedy algorithm

  • 455. Assign Cookies
  • 376. Wiggle Subsequence
  • [R] 53. Maximum Subarray
  • 122. Best Time to Buy and Sell Stock II
  • [R] 55. Jump Game
  • [R] 45. Jump Game II
  • [R] 1005. Maximize Sum Of Array After K Negations
  • [R] 134. Gas Station
  • [R] 135. Candy
  • 860. Lemonade Change
  • 406. Queue Reconstruction by Height
  • 452. Minimum Number of Arrows to Burst Balloons
  • 435. Non-overlapping Intervals
  • 763. Partition Labels
  • 56. Merge Intervals
  • 738. Monotone Increasing Digits
  • 968. Binary Tree Cameras

Dynamic programming

  • 509. Fibonacci Number
  • 70. Climbing Stairs
  • 746. Min Cost Climbing Stairs
  • 62. Unique Paths
  • 63. Unique Paths II
  • 343. Integer Break
  • 96. Unique Binary Search Trees

Knapsack Problem

  • [R] 416. Partition Equal Subset Sum
  • [R] 1049. Last Stone Weight II
  • [R] 494. Target Sum
  • 474. Ones and Zeroes
  • 518. Coin Change II
  • 377. Combination Sum IV
  • 70. Climbing Stairs
  • 322. Coin Change
  • 279. Perfect Squares
  • 139. Word Break

打家劫舍

  • 198. House Robber
  • 213. House Robber II
  • 337. House Robber III

股票

  • 121. Best Time to Buy and Sell Stock
  • 122. Best Time to Buy and Sell Stock II
  • 123. Best Time to Buy and Sell Stock III
  • 188. Best Time to Buy and Sell Stock IV
  • 309. Best Time to Buy and Sell Stock with Cooldown
  • 714. Best Time to Buy and Sell Stock with Transaction Fee

子序列

  • 300. Longest Increasing Subsequence
  • 674. Longest Continuous Increasing Subsequence
  • 718. Maximum Length of Repeated Subarray
  • 1143. Longest Common Subsequence
  • 53. Maximum Subarray
  • 392. Is Subsequence
  • 115. Distinct Subsequences
  • 583. Delete Operation for Two Strings
  • 72. Edit Distance
  • 647. Palindromic Substrings
  • 516. Longest Palindromic Subsequence

monotonic stack.

  • 739. Daily Temperatures
  • 496. Next Greater Element I
  • 503. Next Greater Element II
  • 42. Trapping Rain Water
  • 84. Largest Rectangle in Histogram