- 第一章 编程技巧
- 第二章 线性表
- 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 Reverse Nodes in k-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
- 3.16 Reverse Words in a String
- 第四章 栈和队列
- 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 迭代
- 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
- 第十章 深度优先搜索
- 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
- 第十一章 分治法
- 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