Problems
Interview
Weekly Contest
Biweekly Contest
Permutation - Combination - Subset
Tree
Queue & Stack
List
Dynamic Programming
Others
1. Two Sum (两数之和) - Array (数组), Hash Table (哈希表)
3. Longest Substring Without Repeating Characters (无重复字符的最长子串) - Sliding Window (滑动窗口)
5. Longest Palindromic Substring (最长回文子串) - Sliding Window (滑动窗口), Dynamic Programming (动态规划)
17. Letter Combinations of a Phone Number (电话号码的字母组合) - Backtracking (回溯)
19. Remove Nth Node From End of List (删除链表的倒数第 N 个结点) - Linked List (链表), Double Point (双指针)
21. Merge Two Sorted Lists (合并两个有序链表) - Linked List (链表), Recursive (递归)
23. Merge k Sorted Lists (合并K个升序链表) - Linked List (链表), Priority Queue (优先级队列)
26. Remove Duplicates from Sorted Array (删除有序数组中的重复项) - Array (数组), Double Point (双指针)
27. Remove Element (移除元素) - Array (数组), Double Point (双指针)
35. Search Insert Position (搜索插入位置) - Binary Search (二分查找)
36. Valid Sudoku (有效的数独) - Array (数组), Hash Table (哈希表), Matrix (矩阵)
37. Sudoku Solver (解数独) - Array (数组), Backtracking (回溯), Matrix (矩阵)
39. Combination Sum (组合总和) - Backtracking (回溯)
40. Combination Sum II (组合总和 II) - Backtracking (回溯)
46. Permutations (全排列) - Backtracking (回溯)
47. Permutations II (全排列 II) - Backtracking (回溯)
51. N-Queens (N 皇后) - Backtracking (回溯)
64. Minimum Path Sum (最小路径和) - Dynamic Programming (动态规划)
70. Climbing Stairs (爬楼梯) - Dynamic Programming (动态规划)
77. Combinations (组合) - Backtracking (回溯)
78. Subsets (子集) - Backtracking (回溯)
83. Remove Duplicates from Sorted List (删除排序链表中的重复元素) - Linked List (链表), Double Point (双指针)
86. Partition List (分隔链表) - Linked List (链表), Double Point (双指针)
90. Subsets ii (子集 II) - Backtracking (回溯)
92. Reverse Linked List II (反转链表 II) - Linked List (链表)
94. Binary Tree Inorder Traversal (二叉树的中序遍历) - Binary Tree (二叉树), Inorder (中序遍历), DFS (深度优先搜索)
98. Validate Binary Search Tree (验证二叉搜索树) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树), Inorder (中序遍历)
102. Binary Tree Level Order Traversal (二叉树的层序遍历) - Binary Tree (二叉树), Level order (层序遍历), BFS (广度优先搜索)
104. Maximum Depth of Binary Tree (二叉树的最大深度) - Binary Tree (二叉树), BFS (广度优先搜索), DFS (深度优先搜索), Backtracking (回溯)
108. Convert Sorted Array to Binary Search Tree (将有序数组转换为二叉搜索树) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树)
110. Balanced Binary Tree (平衡二叉树) - Binary Tree (二叉树)
116. Populating Next Right Pointers in Each Node (填充每个节点的下一个右侧节点指针) - BFS (广度优先搜索), DFS (深度优先搜索)
121. Best Time to Buy and Sell Stock (买卖股票的最佳时机) - Array (数组), Dynamic Programming (动态规划)
122. Best Time to Buy and Sell Stock II (买卖股票的最佳时机 II) - Dynamic Programming (动态规划), Greedy (贪心)
123. Best Time to Buy and Sell Stock III (买卖股票的最佳时机 III) - Array (数组), Dynamic Programming (动态规划)
136. Single Number (只出现一次的数字) - Array (数组), Bit Manipulation (位运算)
141. Linked List Cycle (环形链表) - Linked List (链表), Double Point (双指针)
142. Linked List Cycle II (环形链表 II) - Linked List (链表), Double Point (双指针), Hash Table (哈希表)
144. Binary Tree Preorder Traversal (二叉树的前序遍历) - Binary Tree (二叉树), Preorder (前序遍历), DFS (深度优先搜索)
145. Binary Tree Postorder Traversal (二叉树的后序遍历) - Binary Tree (二叉树), Postorder (后序遍历), DFS (深度优先搜索)
160. Intersection of Two Linked Lists (相交链表) - Linked List (链表), Hash Table (哈希表)
167. Two Sum II - Input Array Is Sorted (两数之和 II - 输入有序数组) - Array (数组), Double Point (双指针)
173. Binary Search Tree Iterator (二叉搜索树迭代器) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树), Inorder (中序遍历)
188. Best Time to Buy and Sell Stock IV (买卖股票的最佳时机 IV) - Array (数组), Dynamic Programming (动态规划)
189. Rotate Array (轮转数组) - Array (数组), Double Point (双指针)
206. Reverse Linked List (反转链表) - Double Point (双指针), Recursive (递归)
216. Combination Sum III (组合总和 III) - Backtracking (回溯)
217. Contains Duplicate (存在重复元素) - Hash Table (哈希表)
220. Contains Duplicate III (存在重复元素 III) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树)
235. Lowest Common Ancestor of a Binary Search Tree (二叉搜索树的最近公共祖先) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树), DFS (深度优先搜索)
278. First Bad Version (第一个错误的版本) - Binary Search (二分查找)
283. Move Zeroes (移动零) - Array (数组), Double Point (双指针)
309. Best Time to Buy and Sell Stock with Cool down (最佳买卖股票时机含冷冻期) - Array (数组), Dynamic Programming (动态规划)
344. Reverse String (反转字符串) - Double Point (双指针)
349. Intersection of Two Arrays (两个数组的交集) - Array (数组), Double Point (双指针)
350. Intersection of Two Arrays II (两个数组的交集 II) - Array (数组), Double Point (双指针), Hash Table (哈希表)
450. Delete Node in a BST (删除二叉搜索树中的节点) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树)
491. Increasing Subsequences (递增子序列) - Backtracking (回溯), Hash Table (哈希表)
542. 01 Matrix (01 矩阵) - BFS (广度优先搜索), Dynamic Programming (动态规划)
557. Reverse Words in a String III (反转字符串中的单词 III) - String (字符串)
567. Permutation in String (字符串的排列) - Sliding Window (滑动窗口)
617. Merge Two Binary Trees (合并二叉树) - DFS (深度优先搜索)
695. Max Area of Island (岛屿的最大面积) - DFS (深度优先搜索)
700. Search in a Binary Search Tree (二叉搜索树中的搜索) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树), Recursive (递归)
701. Insert into a Binary Search Tree (二叉搜索树中的插入操作) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树), Recursive (递归)
703. Kth Largest Element in a Stream (数据流中的第 K 大元素) - Binary Tree (二叉树), Binary Search Tree (二叉搜索树)
704. Binary Search (二分查找) - Binary Search (二分查找)
733. Flood Fill (图像渲染) - DFS (深度优先搜索)
784. Letter case permutation (字母大小写全排列) - BFS (广度优先搜索), Backtracking (回溯)
876. Middle of the Linked List (链表的中间结点) - Linked List (链表), Double Point (双指针)
977. Squares of a Sorted Array (有序数组的平方) - Double Point (双指针)
994. Rotting Oranges (腐烂的橘子) - BFS (广度优先搜索)
1732. Find the Highest Altitude (找到最高海拔) - Prefix Sum (前缀和)
Permutation - Combination - Subset
94.binary-tree-inorder-traversal (二叉树的中序遍历)
101.symmetric-tree (对称二叉树)
102.binary-tree-level-order-traversal (二叉树的层序遍历)
104.maximum-depth-of-binary-tree (二叉树的最大深度)
105.construct-binary-tree-from-preorder-and-inorder-traversal (从前序与中序遍历序列构造二叉树)
106.construct-binary-tree-from-inorder-and-postorder-traversal (从中序与后序遍历序列构造二叉树)
116.populating-next-right-pointers-in-each-node (填充每个节点的下一个右侧节点指针)
117.populating-next-right-pointers-in-each-node-ii (填充每个节点的下一个右侧节点指针 II)
144.binary-tree-preorder-traversal (二叉树的前序遍历)
145.binary-tree-postorder-traversal (二叉树的后序遍历)
236.lowest-common-ancestor-of-a-binary-tree (二叉树的最近公共祖先)
297.serialize-and-deserialize-binary-tree (二叉树的序列化与反序列化)
622.design-circular-queue (设计循环队列)
200.number-of-islands (岛屿数量)
130.surrounded-regions (被围绕的区域)
752.open-the-lock (打开转盘锁)
279.perfect-squares (完全平方数)
206.reverse-linked-list (反转链表)
92.reverse-linked-list-ii (反转链表 II)
876.middle-of-the-linked-list (链表的中间结点)
1323.maximum-69-number (6 和 9 组成的最大数字)
1732.find-the-highest-altitude (找到最高海拔)
557.reverse-words-in-a-string-iii (反转字符串中的单词 iii)
return to table of content