分类
一、归并&链表
21.Merge Two Sorted Lists;合并两个有序链表
88.Merge Sorted Array;合并两个有序数组
2.Add Two Numbers;链表大数加法
67.Add Binary;数据大数加法
148.Sort List;链表排序---冒泡、归并
147.Insertion Sort List;链表直接插入排序
二、二分
35.Search Insert Position;查找有序数组中的某个数
34.Find First and Last Position of Element in Sorted Array;找到有数组中某个重复数值的起始和结束下标
74.Search a 2D Matrix;查找从左到右有序排列,从上到下递增的二维数组里面的某个数
240.Search a 2D Matrix II;查找从左到右、从上到下递增的二维数组里面的某个数
三、二叉树
101.Symmetric Tree;判断是否是对称二叉树
100.Same Tree;判断两棵树是否相同
104.Maximum Depth of Binary Tree;二叉树的高度
107.Binary Tree Level Order Traversal II;层序从底到顶打印
108.Convert Sorted Array to Binary Search Tree;将有序数组转换为平衡二叉排序树
112.Path Sum;从根节点到叶节点的路径和是否等于target---dfs、后序非递归
113.Path Sum II;打印从根节点到叶节点的路径和等于target的所有路径---dfs、后序非递归
144.Binary Tree Preorder Traversal;先序非递归
94.Binary Tree Inorder Traversal;中序非递归
145.Binary Tree Postorder Traversal;后序非递归
111.Minimum Depth of Binary Tree;二叉树的最小高度
129.Sum Root to Leaf Numbers;从根节点到叶节点组成一个数,计算所有数的总和
124.Binary Tree Maximum Path Sum;从一个叶节点到另一个叶节点的路径的最大长度
四、哈希
1.Two Sum;数组中两数之和等于target
3.3sum;数组中三数之和等于target
136.Single Number;找出重复两次的所有数中没有重复的数值
137.Single Number II;找出重复三次的所有数中没有重复的数值
128.Longest Consecutive Sequence;找出数组中连续数值最长的长度
五、双指针
141.Linked List Cycle;检查链表中是否有环
142.Linked List Cycle II;找到有环链表中环的起始节点
108.Convert Sorted Array to Binary Search Tree;将有序数组转换为平衡二叉排序树
1.Two Sum;数组中两数之和等于target
3.3sum;数组中三数之和等于target
42.Trapping Rain Water;直方图中最大蓄水面积
六、位运算
136.Single Number;找出重复两次的所有数中没有重复的数值
137.Single Number II;找出重复三次的所有数中没有重复的数值
338.Counting Bits;计算从1到n的所有数的二进制表示中1的个数
191.Number of 1 Bits;计算一个数的二进制表示中1的个数
190.Reverse Bits;翻转一个数的二进制表示
7.Rerverse Integer;翻转十进制数
七、DP
121.Best Time to Buy and Sell Stock;求解只买卖一次股票所获得的最大利润
122.Best Time to Buy and Sell Stock II;求解多次买卖股票
123.Best Time to Buy and Sell Stock III;求解两次买卖股票所获得的最大利润
53.Maximum Subarray;最大连续子序列和
3.Longest Substring Without Repeating Characters;最长无重复子串
5.Longest Palindromic Substring;最长回文子字符串
516.Longest Palindromic subsequence;最长回文子序列
14.Longest Common Prefix;字符串数组的最长前缀
152.Maximum Product Subarray;连续子数组的最大乘积
132.Palindrome Partitioning II;划分字符串,使得所有子串都是回文子串,计算最小划分次数
70.Climbing Stairs;裴波那挈数列
118.Pascal's Triangle;打印杨辉三角
119.Pascal's Triangle II;打印杨辉三角中的某一行
32.Longest Valid Parentheses;找出最长的括号匹配长度
72.Edit Distance;编辑距离
343.Integer Break;整数分解
62.Unique Paths;从左上角到右下角,无障碍有多少路径
63.Unique Paths II;从左上角有障碍走到右下角,有多少路径
64.Minimum Paths Sum;计算从左上角到右下角的路径中路径和最小的路径值
174.Dungeon Game;从左上角到右下角,每个格子有血量,正加负减,求解最初需要携带多少血才可以到达右下角
42.Trapping Rain Water;直方图中最大蓄水面积
85.Maximal Rectangle;二维矩阵中由1组成的最大的矩形面积
11.Container With Most Water;容器最大蓄水量
91.Decode Ways;字符串解码
七、贪心
56.Merge Intervals;合并区间
57.Insert Interval;插入一个区间到排好序的区间中
135.Candy;分糖果,每个人至少一个糖果,如果ratings值比左右的人高,则糖果也更多
134.Gas Station;给汽车加油使其跑完全程circle
八、深搜
51.N-Queens;n皇后问题
22.Generate Parentheses;生成n对不同的括号匹配的字符串
46.Permutations;无重复数值全排列
47.Permutations II;有重复数值全排列
31.Next Permutation;下一个排列函数
77.Combinations;组合数
78.Subsets;找出无重复数值序列的所有子集合
90.Subsets II;找出有重复数值序列的所有子集合
39.Combination Sum;找出无重复序列中,可重复的挑选数值的总和等于target的所有序列
40.Combination Sum II;找出有重复序列中,只挑选一次数值的总和等于target的所有序列
41.Combination Sum III;找出无重复序列中,只挑选一次数值共k个的总和等于target的所有序列
17.Letter Combination of a Phone Number;电话号码所印出来的全排列
131.Palindrome Partition;划分字符串,使其所有子串都是回文子串,计算所有可能的划分方法
九、数据结构
20.Valid Parentheses;简单括号匹配问题
32.Longest Valid Parentheses;找出最长的括号匹配长度
84.Largest Rectangle in histogram;找出直方图中的最大矩形面积
42.Trapping Rain Water;直方图中最大蓄水面积
不怎么懂的
3.Longest Substring Without Repeating Characters;最长无重复子串
4.Median of Two Sorted Arrays;找出两个有序链表的中位数
22.Generate Parentheses;生成n对不同的括号匹配的字符串