第一章
第二章 线性表
2.1 数组
2.1.1 Remove Duplicates from Sorted Array
2.1.2 Remove Duplicates from Sorted Array II
2.1.3 Search in Rotated Sorted Array
2.1.4 Search in Rotated Sorted Array II
2.1.5 Median of Two Sorted Arrays
2.1.6 Longest Consecutive Sequence
2.1.7 Two Sum
2.1.8 3Sum
2.1.9 3Sum Closest
2.1.10 4Sum
2.1.11 Remove Element
2.1.12 Next Permutation
2.1.13 Permutation Sequence
2.1.14 Valid Sudoku
2.1.15 Trapping Rain Water
2.1.16 Rotate Image
2.1.17 Plus One
2.1.18 Climbing Stairs
2.1.19 Gray Code
2.1.20 Set Matrix Zeroes
2.1.21 Gas Station
2.1.22 Candy
2.1.23 Single Number
2.1.24 Single Number II
2.2 单链表
2.2.1 Add Two Numbers
2.2.2 Reverse Linked List II
2.2.3 Partition List
2.2.4 Remove Duplicates from Sorted List
2.2.5 Remove Duplicates from Sorted List II
2.2.6 Rotate List
2.2.7 Remove Nth Node From End of List
2.2.8 Swap Nodes in Pairs
2.2.9 ReverseNodesink-Group
2.2.10 Copy List with Random Pointer
2.2.11 Linked List Cycle
2.2.12 Linked List Cycle II
2.2.13 Reorder List
2.2.14 LRU Cache
第三章 字符串
3.1 Valid Palindrome
3.2 Implement strStr()
3.3 String to Integer (atoi)
3.4 Add Binary
3.5 Longest Palindromic Substring
3.6 Regular Expression Matching
3.7 Wildcard Matching
3.8 Longest Common Prefix
3.9 Valid Number
3.10 Integer to Roman
3.11 Roman to Integer
3.12 Count and Say
3.13 Anagrams
3.14 Simplify Path
3.15 Length of Last Word
第四章 栈和队列
4.1 栈
4.1.1 Valid Parentheses
4.1.2 Longest Valid Parentheses
4.1.3 Largest Rectangle in Histogram
4.1.4 Evaluate Reverse Polish Notation
4.2 队列
第五章 树
5.1 二叉树的遍历
5.1.1 Binary Tree Pre-order Traversal
5.1.2 Binary Tree In-order Traversal
5.1.3 Binary Tree Post-order Traversal
5.1.4 Binary Tree Level Order Traversal
5.1.5 Binary Tree Level Order Traversal II
5.1.6 Binary Tree Zigzag Level Order Traversal
5.1.7 Recover Binary Search Tree
5.1.8 Same Tree
5.1.9 Symmetric Tree
5.1.10 Balanced Binary Tree
5.1.11 Flatten Binary Tree to Linked List
5.1.12 Populating Next Right Pointers in Each Node II
5.2 二叉树的构建
5.2.1 Construct Binary Tree from Pre-order and In-order Traversal
5.2.2 Construct Binary Tree from In-order and Post-order Traversal
5.3 二叉查找树
5.3.1 Unique Binary Search Trees
5.3.2 Unique Binary Search Trees II
5.3.3 Validate Binary Search Tree
5.3.4 Convert Sorted Array to Binary Search Tree
5.3.5 Convert Sorted List to Binary Search Tree
5.4 二叉树的递归
5.4.1 Minimum Depth of Binary Tree
5.4.2 Maximum Depth of Binary Tree
5.4.3 Path Sum
5.4.4 Path Sum II
5.4.5 Binary Tree Maximum Path Sum
5.4.6 Populating Next Right Pointers in Each Node
5.4.7 Sum Root to Leaf Numbers
第六章 排序
6.1 Merge Sorted Array
6.2 Merge Two Sorted Lists
6.3 Merge k Sorted Lists
6.4 Insertion Sort List
6.5 Sort List
6.6 First Missing Positive
6.7 Sort Colors
第七章 查找
7.1 Search for a Range
7.2 Search Insert Position
7.3 Search a 2D Matrix
第八章 暴力枚举法
8.1 Subsets
8.1.1 递归
8.1.2 迭代 . . . . . . . . . . 136
8.2 Subsets II
8.2.1 递归
8.2.2 迭代
8.3 Permutations
8.3.1 next_permutation()8.3.2 重新实现 next_permutation()
8.3.3 递归
8.4 Permutations II
8.4.1 next_permutation()
8.4.2 重新实现 next_permutation()
8.4.3 递归
8.5 Combinations
8.5.1 递归
8.5.2 迭代
8.6 Letter Combinations of a Phone Number
8.6.1 递归
8.6.2 迭代
第九章 广度优先搜索
9.1 Word Ladder
9.2 Word Ladder II
9.3 Surrounded Regions
9.4 小结
9.4.1 适用场景
9.4.2 思考的步骤
9.4.3 代码模板
第十章 深度优先搜索
10.1 Palindrome Partitioning
10.2 Unique Paths
10.2.1 深搜
10.2.2 备忘录法
10.2.3 动规
10.2.4 数学公式
10.3 Unique Paths II
10.3.1 备忘录法
10.3.2 动规
10.4 N-Queens
10.5 N-Queens II
10.6 Restore IP Addresses
10.7 Combination Sum
10.8 Combination Sum II
10.9 Generate Parentheses
10.10 Sudoku Solver
10.11 Word Search
10.12 小结
10.12.1 适用场景
10.12.2 思考的步骤
10.12.3 代码模板
10.12.4 深搜与回溯法的区别
10.12.5 深搜与递归的区别
第十一章 分治法
11.1 Pow(x,n)
11.2 Sqrt(x)
第十二章 贪心法
12.1 Jump Game
12.2 Jump Game II
12.3 Best Time to Buy and Sell Stock
12.4 Best Time to Buy and Sell Stock II
12.5 Longest Substring Without Repeating Characters
12.6 Container With Most Water
第十三章 动态规划
13.1 Triangle
13.2 Maximum Subarray
13.3 Palindrome Partitioning II
13.4 Maximal Rectangle
13.5 Best Time to Buy and Sell Stock III
13.6 Interleaving String
13.7 Scramble String
13.8 Minimum Path Sum
13.9 Edit Distance
13.10 Decode Ways
13.11 Distinct Subsequences
13.12 Word Break
13.13 Word Break II
第十四章 图
14.1 Clone Graph
第十五章 细节实现题
15.1 Reverse Integer
15.2 Palindrome Number
15.3 Insert Interval
15.4 Merge Intervals
15.5 Minimum Window Substring
15.6 Multiply Strings
15.7 Substring with Concatenation of All Words
15.8 Pascal’s Triangle
15.9 Pascal’s Triangle II
15.10 Spiral Matrix
15.11 Spiral Matrix II
15.12 ZigZag Conversion
15.13 Divide Two Integers
15.14 Text Justification
15.15 Max Points on a Line