题目 | 算法 | 数据结构 | 注意事项 |
Clone Graph | BFS | 哈希表 | |
Word Ladder II | BFS | 哈希表 | |
Surrounded Regions | BFS | 矩阵 | |
Word Ladder | BFS | N/A | |
Binary Tree Level Order Traversal | BFS|前序遍历 | 队列 | |
Binary Tree Level Order Traversal II | BFS|前序遍历 | 队列 | |
Binary Tree Zigzag Level Order Traversal | BFS|前序遍历 | 队列 | 每一层顺序分别对待 |
Implement strStr() | KMP算法 | N/A | |
Copy List with Random Pointer | N/A | 哈希表 | |
Remove Duplicates from Sorted Array | N/A | 哈希表 | |
Remove Duplicates from Sorted Array II | N/A | 哈希表 | |
Set Matrix Zeroes | N/A | 哈希表 | |
Anagrams | N/A | 哈希表 | |
First Missing Positive | N/A | 哈希表 | |
Two Sum | N/A | 哈希表 | |
Evaluate Reverse Polish Notation | N/A | 堆栈 | |
Largest Rectangle in Histogram | N/A | 堆栈 | 记录重要位置 |
Minimum Window Substring | N/A | 堆栈 | |
Simplify Path | N/A | 堆栈 | |
Longest Valid Parentheses | N/A | 堆栈 | |
Valid Parentheses | N/A | 堆栈 | 词法分析 |
Container With Most Water | N/A | 堆栈 | 记录重要位置 |
Best Time to Buy and Sell Stock | N/A | 数组 | |
Best Time to Buy and Sell Stock II | N/A | 数组 | |
Best Time to Buy and Sell Stock III | N/A | 数组 | |
Length of Last Word | N/A | 数组 | |
Search Insert Position | N/A | 数组 | |
Search for a Range | N/A | 数组 | |
Spiral Matrix | N/A | 矩阵 | 简化为子问题 |
Spiral Matrix II | N/A | 矩阵 | 简化为子问题 |
LRU Cache | N/A | 链表 | |
Reorder List | N/A | 链表 | 快慢指针&链表倒序 |
Linked List Cycle | N/A | 链表 | 快慢指针 |
Linked List Cycle II | N/A | 链表 | 快慢指针 |
Reverse Linked List II | N/A | 链表 | |
Partition List | N/A | 链表 | |
Remove Duplicates from Sorted List | N/A | 链表 | |
Remove Duplicates from Sorted List II | N/A | 链表 | |
Merge Two Sorted Lists | N/A | 链表 | |
Rotate List | N/A | 链表 | 快慢指针 |
Reverse Nodes in k-Group | N/A | 链表 | |
Swap Nodes in Pairs | N/A | 链表 | |
Remove Nth Node From End of List | N/A | 链表 | 快慢指针 |
Text Justification | N/A | 队列 | |
Candy | N/A | N/A | 简化为子问题 |
Valid Palindrome | N/A | N/A | 首尾指针 |
Plus One | N/A | N/A | 模拟加法运算 |
Valid Number | N/A | N/A | 词法分析 |
Add Binary | N/A | N/A | 模拟加法运算 |
Insert Interval | N/A | N/A | |
Merge Intervals | N/A | N/A | |
Multiply Strings | N/A | N/A | 模拟乘法运算 |
Trapping Rain Water | N/A | N/A | |
Valid Sudoku | N/A | N/A | |
Roman to Integer | N/A | N/A | |
Integer to Roman | N/A | N/A | |
Palindrome Number | N/A | N/A | |
Reverse Integer | N/A | N/A | |
ZigZag Conversion | N/A | N/A | |
Add Two Numbers | N/A | N/A | 模拟加法运算 |
Median of Two Sorted Arrays | N/A | N/A | |
String to Integer (atoi) | STL函数 | N/A | |
Next Permutation | STL经典算法 | N/A | |
Recover Binary Search Tree | 中序遍历 | 二叉树 | |
3Sum | 二分查找 | N/A | |
3Sum Closest | 二分查找 | N/A | |
4Sum | 二分查找 | N/A | |
Single Number | 位运算 | N/A | |
Single Number II | 位运算 | N/A | |
Construct Binary Tree from Preorder and Inorder Traversal | 前序中序遍历 | N/A | |
Binary Tree Preorder Traversal | 前序遍历 | 二叉树 | |
Flatten Binary Tree to Linked List | 前序遍历 | 二叉树 | |
Interleaving String | 动态规划 | 二叉树 | |
Unique Binary Search Trees | 动态规划 | 二叉树 | |
Word Break | 动态规划 | N/A | |
Word Break II | 动态规划 | N/A | |
Palindrome Partitioning | 动态规划 | N/A | |
Palindrome Partitioning II | 动态规划 | N/A | |
Triangle | 动态规划 | N/A | |
Distinct Subsequences | 动态规划 | N/A | |
Decode Ways | 动态规划 | N/A | |
Scramble String | 动态规划 | N/A | |
Maximal Rectangle | 动态规划 | N/A | |
Edit Distance | 动态规划 | N/A | |
Climbing Stairs | 动态规划 | N/A | |
Minimum Path Sum | 动态规划 | N/A | |
Unique Paths | 动态规划 | N/A | |
Unique Paths II | 动态规划 | N/A | |
Jump Game | 动态规划 | N/A | |
Jump Game II | 动态规划 | N/A | |
Maximum Subarray | 动态规划 | N/A | |
Wildcard Matching | 动态规划 | N/A | |
Substring with Concatenation of All Words | 动态规划 | N/A | |
Sort List | 合并排序 | 链表 | 快慢指针 |
Merge Sorted Array | 合并排序 | N/A | |
Construct Binary Tree from Inorder and Postorder Traversal | 后序中序遍历 | N/A | |
Binary Tree Postorder Traversal | 后续遍历 | 二叉树 | |
Combinations | 回溯 | N/A | |
Permutation Sequence | 回溯 | N/A | |
N-Queens | 回溯 | N/A | |
N-Queens II | 回溯 | N/A | |
Permutations | 回溯 | N/A | |
Permutations II | 回溯 | N/A | |
Combination Sum | 回溯 | N/A | |
Combination Sum II | 回溯 | N/A | |
Sudoku Solver | 回溯 | N/A | |
Longest Substring Without Repeating Characters | 回溯 | N/A | |
Max Points on a Line | 循环遍历 | N/A | 排除相同的点 |
Longest Common Prefix | 循环遍历 | N/A | |
Longest Palindromic Substring | 循环遍历 | N/A | |
Insertion Sort List | 插入排序 | 链表 | |
Rotate Image | 矢量旋转与平移 | N/A | |
Longest Consecutive Sequence | 类BFS | 哈希表 | |
Search in Rotated Sorted Array | 类二分查找 | N/A | |
Search in Rotated Sorted Array II | 类二分查找 | N/A | 特殊考虑相等数据 |
Sqrt(x) | 类二分查找 | N/A | |
Pow(x, n) | 类二进制 | N/A | |
Divide Two Integers | 类二进制 | N/A | |
Gas Station | 类合并排序 | N/A | |
Merge k Sorted Lists | 类外排序 | N/A | |
Sort Colors | 类快速排序 | N/A | |
Remove Element | 类快速排序 | N/A | |
Search a 2D Matrix | 类杨氏矩阵 | N/A | |
Restore IP Addresses | 背包问题 | N/A | |
Sum Root to Leaf Numbers | 递归 | 二叉树 | |
Binary Tree Maximum Path Sum | 递归 | 二叉树 | |
opulating Next Right Pointers in Each Node | 递归 | 二叉树 | |
Populating Next Right Pointers in Each Node II | 递归 | 二叉树 | |
Path Sum | 递归 | 二叉树 | |
Path Sum II | 递归 | 二叉树 | |
Maximum Depth of Binary Tree | 递归 | 二叉树 | |
Minimum Depth of Binary Tree | 递归 | 二叉树 | |
Balanced Binary Tree | 递归 | 二叉树 | |
Symmetric Tree | 递归 | 二叉树 | |
Same Tree | 递归 | 二叉树 | |
Validate Binary Search Tree | 递归 | 二叉树 | |
Unique Binary Search Trees II | 递归 | 二叉树 | |
Binary Tree Inorder Traversal | 递归 | 二叉树 | |
Pascal's Triangle | 递归 | N/A | |
Pascal's Triangle II | 递归 | N/A | |
Convert Sorted List to Binary Search Tree | 递归 | N/A | 快慢指针&反中序遍历 |
Convert Sorted Array to Binary Search Tree | 递归 | N/A | 反中序遍历 |
Subsets | 递归 | N/A | |
Subsets II | 递归 | N/A | |
Gray Code | 递归 | N/A | |
Word Search | 递归 | N/A | |
Count and Say | 递归 | N/A | |
Generate Parentheses | 递归 | N/A | |
Letter Combinations of a Phone Number | 递归 | N/A | |
Regular Expression Matching | 递归 | N/A |
Dynamic Programming
Edit Distance
Maximum Subarray
Minimum Path Sum
Unique Paths
Unique Paths II
Longest Palindromic Substring
Interleaving String
Triangle
Distinct Subsequences
Decode Ways
Palindrome Partitioning II
Maximal Rectangle
Recursion
N-Queens
N-Queens II
Balanced Binary Tree
Binary Tree Inorder Traversal
Binary Tree Maximum Path Sum
Convert Sorted Array to Binary Search Tree
Convert Sorted List to Binary Search Tree
Flatten Binary Tree to Linked List
Maximum Depth of Binary Tree
Minimum Depth of Binary Tree
Path Sum
Permutations
Permutations II
Populating Next Right Pointers in Each Node
Pow(x, n)
Same Tree
Subsets
Sum Root to Leaf Numbers
Swap Nodes in Pairs
Symmetric Tree
Valid Palindrome
Validate Binary Search Tree
Restore IP Addresses
Combinations
Interleaving String (dp is the best)
Combination Sum II
Letter Combinations of a Phone Numbers
Word Search
Construct Binary Tree from Inorder and Postorder Traversal
Construct Binary Tree from Preorder and Inorder Traversal
Generate Parentheses
Surrounded Regions (runtime error)
Palindrome Partitioning
Combination Sum
Sudoku Solver
Unique Binary Search Trees II
Binary Search
Search Insert Position
Search a 2D Matrix
Search for a Range
Search in Rotated Sorted Array
Sqrt(x)
Sequence
Container With Most Water
Count and Say
First Missing Positive
Implement strStr()
Jump Game
Jump Game II
Length of Last Word
Longest Common Prefix
Longest Substring Without Repeating Characters
Merge Sorted Array
Palindrome Number
Plus One
Remove Duplicates from Sorted Array
Remove Duplicates from Sorted Array II
Remove Element
Reverse Integer
Search in Rotated Sorted Array II
Sort Colors
Two Sum
3Sum
3Sum Closest
4Sum
Add Binary
Longest Palindromic Substring
Next Permutation
Longest Valid Parentheses
Climbing Stairs
Permutation Sequence
Simplify Path
String to Integer (atoi)
Minimum Window Substring
Longest Consecutive Sequence
Trapping Rain Water
Valid Number
Linked List
Add Two Numbers
Convert Sorted List to Binary Search Tree
Merge Two Sorted Lists
Partition List
Remove Duplicates from Sorted List
Remove Duplicates from Sorted List II
Remove Nth Node From End of List
Reverse Linked List II
Reverse Nodes in k-Group
Rotate List
Swap Nodes in Pairs
Stack
Binary Tree Inorder Traversal
Binary Tree Level Order Traversal II
Valid Parentheses
Queue
Binary Tree Level Order Traversal
Binary Tree Level Order Traversal II
Populating Next Right Pointers in Each Node II
Symmetric Tree
Surrounded Regions
Word Ladder
Tree
Balanced Binary Tree
Binary Tree Inorder Traversal
Binary Tree Level Order Traversal
Binary Tree Level Order Traversal II
Binary Tree Maximum Path Sum
Convert Sorted Array to Binary Search Tree
Convert Sorted List to Binary Search Tree
Flatten Binary Tree to Linked List
Maximum Depth of Binary Tree
Minimum Depth of Binary Tree
Path Sum
Same Tree
Sum Root to Leaf Numbers
Symmetric Tree
Validate Binary Search Tree