Article directory
backtracking algorithm
- combination problem
- String cutting problem
- permutation problem
- subset problem
- increasing subsequence problem
- checkerboard
dynamic programming
- Dynamic Programming Basics
- knapsack problem
- 01 backpack (two-dimensional, one-dimensional rolling backpack)
- full backpack
- Multiple Backpacks
- stock question
- Robbery
- subsequence problem
Sorting Algorithm
- Sorting Algorithm Time Complexity
- selection sort
- Bubble Sort
- insertion sort
- Hill sort
- merge sort
- heap sort
- quick sort
- radix sort
- bucket sort
- counting sort
linked list
- 203. Remove linked list elements
- 707. Design Linked List
- 206. Reverse Linked List
- 24. Exchange the nodes in the linked list two by two
- 19. Delete the last N node of the linked list
- 160. Intersecting Linked List
- 142. Circular Linked List II
binary tree
- Preorder traversal, recursive and non-recursive
- Inorder traversal, recursive and non-recursive
- Postorder traversal, recursive and non-recursive
- Binary tree level traversal
- The maximum depth of the binary tree
- The maximum width of the binary tree
- How to judge whether a binary tree is a search binary tree
- How to judge whether a binary tree is a complete binary tree
- How to judge whether a binary tree is full binary tree
- How to judge whether a binary tree is a balanced binary tree
- Given two binary trees nodes node1 and node2, find their lowest common ancestor node
string
- 344. Reverse String
- 541. Reverse a String II
- Sword Pointer Offer 58 - I. Flip Word Order
- Sword Pointer Offer 58 - II. Left Rotate String
array
Problem-solving ideas: dichotomy, double pointer, sliding window, simulated behavior
- binary search
- remove element
- The smallest subarray
- fruit basket
- minimum covering substring
- spiral matrix
- Spiral Matrix II
- Sword refers to Offer 29. Print matrix clockwise