完美完成的题目
001-两数之和(two sum)-java(2,简单算法-数组)
002-两数相加(add two numbers)-java(2,中级算法-链表)
006-N 字形变换(1,中级遍历-字符串)
007-反转整数(reverse integer)-java(3,简单算法-字符串)
008-字符串转整数 (atoi)(String to Integer)-java(2,简单算法-字符串)
010-正则表达式匹配-java(2,高级算法-回溯算法)
011-盛最多水的容器-java(2,高级算法-数组)
012-整数转罗马数字(1,中级遍历-数学)
013-罗马数字转整数(roman to integer)-java(2,简单算法-数学)
014-最长公共前缀(longest common prefix)-java(2,简单算法-字符串)
017-电话号码的字母组合(letter combination of a phone number)-java(2,中级算法-回溯算法)
019-删除链表的倒数第N个节点(remove nth node from end of list)-java(2,简单算法-链表)
020-有效的括号(valid parentheses)-java(2,简单算法-其他-栈)
021-合并两个有序链表(merge two sorted lists)-java(2,简单算法-链表)
022-括号生成(generate parentheses)-java(2,中级算法-回溯算法)
023-合并K个排序链表-java(2,高级算法-链表)
024-两两交换链表中的节点(1,中级遍历-链表)
025-k个一组翻转链表(1,困难遍历-链表)
026- 删除排序数组中的重复项-java(2,简单算法-数组)
027-移除元素(1,简单遍历-数组)
029-两数相除(divide two integers)-java(3,中级算法-数学)
031-下一个排列-java(1,hot100-数组)
033-搜索旋转排序数组(search in rotated sorted array)-java(2,中级算法-查找)
034-在排序数组中查找元素的第一个和最后一个位置(find first and last position of element in sorted array)-java(2,中级算法-查找)
035-搜索插入位置(1,简单遍历-搜索)
036- 有效的数独(valid sudoku)-java(2,简单算法-数组)
038-报数 (count and say)-java(2,简单算法-字符串)
041-缺失的第一个正数-java(2,高级算法-数组)
042-接雨水-java(1,高级算法-杂,数组)
046-全排列(permutations)-java(2,中级算法-回溯算法)
048-旋转图像(rotate image)-java(3,简单算法-数组)
049-字母异位词分组(group anagrams)-java(2,中级算法-字符串)
050-Pow(x, n)-java(2,中级算法-数学)
051-n皇后(1,困难遍历-回溯)
052-n皇后2(1,困难遍历-回溯)
054-螺旋矩阵-java(2,高级算法-数组)
055-跳跃游戏(jump game)-java(2,中级算法-动态规划)
056-合并区间(merge intervals)-java(2,中级算法-排序)
059-螺旋矩阵2(1,中等遍历-回溯)
061-旋转链表(1,中等遍历-链表)
062-不同路径 (unique paths)-java(2,中级算法-动态规划)
063-不同路径2(1,中等遍历-动态规划)
064- 最小路径和-java(1,hot100-动态规划)
066-加一(PLUS one)-java(2,简单算法-数组)
069-x 的平方根(sqrt(t))-java(2,中级算法-数学)
070-爬楼梯(climbing trees)-java(2,简单算法-动态规划)
073- 矩阵置零(set matrix zeroes)-java(3,中级算法-数组)
075-颜色分类(sort colors)-java(2,中级算法-排序搜索)
076-最小覆盖子串-java(1,高级算法-字符串)
078-子集(subsets)-java(3,中级算法-回溯算法)
079-单词搜索(word search)-java(2,中级算法-回溯算法)
088-合并两个有序数组(merge sorted array)-java(2,简单算法-排序)
094-二叉树的中序遍历(binary tree inorder traversal)-java(2,中级算法-树)
096-不同的二叉搜索树-java(1,hot100-动态规划)
098-验证二叉搜索树(validat binary search tree)-java(3,简单算法-树)
101-对称二叉树(symmetric tree)-java(2,简单算法-树)
102-二叉树的层次遍历(binary tree level order traversal)-java(2,简单算法-树)
103-二叉树的锯齿形层次遍历(binary tree zigzag level order traversal)-java(2,中级算法-树)
104-二叉树的最大深度(maximum depth of binary tree)-java(2,简单算法-树)
105- 从前序与中序遍历序列构造二叉树(construct binary tree from preorder and inorder traversal)-java(3,中级算法-树)
108-将有序数组转换为二叉搜索树(convert sorted array to binary search tree)-java(3,简单算法-树)
114-二叉树展开为链表-java(2,hot100-树)
116- 填充同一层的兄弟节点(populating next right pointers in each node)-java(2,中级算法-树)
118-杨辉三角(pascl triangle)-java(2,简单算法-其他-数学)
121-买卖股票的最佳时机(best time to buy and sell stock)-java(2,简单算法-动态规划)
122-买卖股票的最佳时机 II-java(2,简单算法-数组)
124-二叉树中的最大路径和-java(2,高级算法-树)
125-验证回文串(valid palindrome)-java(2,简单算法-字符串)
128-最长连续序列-java(2,高级算法-数组)
130-被围绕的区域-java(1,高级算法-图)
136-只出现一次的数字(single number)-java(2,简单算法-数组)
138-复制带随机指针的链表-java(2,高级算法-链表)
139-单词拆分-java(2,高级算法-动态规划)
141-环形链表(linked list cycle)-java(2,简单算法-链表)
142-环形链表 II-java(1,hot100-链表)
146-LRU缓存机制-java(2,高级算法-设计,链表)
150- 逆波兰表达式求值(evaluate reverse polish notation)-java(2,中级算法-其他-栈)
152-乘积最大子序列-java(2,高级算法-动态规划)
155-最小栈(min stack)-java(2,简单算法-设计)
160- 相交链表(intersection of two linked list)-java(2,中级算法-链表)
169-求众数 (majority element)-java(2,中级算法-其他-数学)
171-Excel表列序号(excel sheet column number)-java(2,中级算法-数学)
172-阶乘后的零(factorial trailing zeroes)-java(2,中级算法-数学)
179-最大数-java(1,高级算法-数学)
190-颠倒二进制位(reverse bits)-java(2,简单算法-其他-位运算)
191-位1的个数(number of one bits)-java(2,简单算法-其他-位运算)
198-打家劫舍(house robber)-java(2,简单算法-动态规划)
200-岛屿的个数 (number of islands)-java(2,中级算法-图)
202-快乐数(happy number)-java(2,中级算法-数学)
204-计数质数(count primes)-java(3,简单算法-数学)
206-反转链表(reverse linked list)-java(2,简单算法-链表)
207-课程表-java(2,高级算法-图)
208-实现Trie (前缀树)-java(2,高级算法-设计,树)
215-数组中的第K个最大元素 (kth largest element in an array)-java(2,中级算法-查找)
217-存在重复元素(Contains Duplicate)-java(2,简单算法-数组)
226-翻转二叉树-java(2,hot100-树)
230-二叉搜索树中第K小的元素(kth smallest element in a bst)-java(2,中级算法-树)
234-回文链表(palindrome linked list)-java(2,简单算法-链表)
236-二叉树的最近公共祖先-java(2,高级算法-树)
237-删除链表中的节点(delete node in a linkedlist)-java(2,简单算法-链表)
238- 除自身以外数组的乘积(Product of Array Except Self)-java(2,高级算法-数组)
240-搜索二维矩阵 II(search a 2ds matrix 2)-java(2,中级算法-查找)
242-有效的字母异位词(valid anagram)-java(2,简单算法-字符串)
268-缺失数字(missing number)-java(2,简单算法-其他-数学)
278-第一个错误的版本(first bad version)-java(2,简单算法-查找)
283-移动零(remove zeroes)-java(2,简单算法-数组)
295-数据流的中位数-java(2,高级算法-设计,数组)
300-最长上升子序列(longest increasing subsequence)-java(3,中级算法-动态规划)
328-奇偶链表(odd even linkedlist)-java(2,中级算法-链表)
322-零钱兑换 (coin change)-java(2,中级算法-动态规划)
334- 递增的三元子序列(increasingly triplet subsequence)-java(3,中级算法-数组)
338-比特位计数-java(1,hot100-动态规划)
341-扁平化嵌套列表迭代器-java(2,高级算法-设计,栈)
344-反转字符串(reverse string)-java(2,简单算法-字符串)
347-前K个高频元素(top k frequent elements)-java2,中级算法-排序)
350-两个数组的交集 II( Intersections of two arrays II)-java(2,简单算法-数组)
371-两整数之和(sum of two integers)-java(2,中等算法-设计,数学)
380-常数时间插入、删除和获取随机元素(Insert Delete GetRandom O(1))-java(3,中级算法-设计,哈希表)
384-打乱数组(shuffle an array)-java(2,简单算法-设计)
387-字符串中的第一个唯一字符(first unique character in a string)-java(2,简单算法-字符串)
394-字符串解码-java(2,hot100-栈)
412 -Fizz Buzz-(fizz bzz)-java(2,简单算法-数学)
438-找到字符串中所有字母异位词-java(1,hot100-数组)
448-找到所有数组中消失的数字-java(2,hot100-数组)
461-汉明距离(hamming distance)-java(2,简单算法-其他-位运算)
538-把二叉搜索树转换为累加树-java(1,hot100-树)
543-二叉树的直径-java(1,hot100-树)
547-朋友圈-java(1,高级算法-图)
617-合并二叉树-java(1,hot100-树)
621-任务调度器(task scheduler)-java(2,中级算法-其他-数学)
647-回文子串-java(1,hot100-字符串)
完成但是不完美的题目
003-无重复字符的最长子串(longest substring without repeating characters)-java(3,中级算法-字符串)
004-寻找两个有序数组的中位数-java(2,高级算法-搜索)
005-最长回文子串(longest palindromic substring)-java(3,中级算法-字符串)
015-三数之和(3sum)-java(3,中级算法-数组)
030-串联所有单词的子串(1,困难遍历-字符串)
039-组合总和-java(2,hot100-回溯算法)
043-字符串相乘(1,中等遍历-数学)
044-通配符匹配-java(1,高级算法-回溯算法)
045-跳跃游戏2(1,中等遍历-动态规划)
053- 最大子序和(maximum subarray)-java(3,简单算法-动态规划)
057-插入区间(1,中等遍历-数组)
058-最后一个单词的长度(1,简单遍历-字符串)
084-柱状图中最大的矩形-java(2,高级算法-其他,数组)
131-分割回文串-java(2,高级算法-回溯算法)
140-单词拆分 II-java(2,高级算法-动态规划)
148-排序链表-java(2,高级算法-链表)
162-寻找峰值(find peak element)-java(3,中级算法-查找)
189-旋转数组( Rotate Array)-java(3,简单算法-数组)
210-课程表 II-java(2,高级算法-图)
212-单词搜索 II-java(2,高级算法-回溯算法)
221-最大正方形-java(2,hot100-动态规划)
279-完全平方数-java(1,高级算法-动态规划)
309-最佳买卖股票时机含冷冻期-java(2,高级算法-动态规划)
315-计算右侧小于当前元素的个数-java(2,高级算法-数组)
326-3的幂(power of three)-java(3,简单算法-数学)
337-打家劫舍 III-java(2,hot100-动态规划)
378-有序矩阵中第K小的元素-java(2,高级算法-搜索)
454-四数相加 II-java(2,高级算法-数组)
494-目标和-java(2,hot100-动态规划)
560-和为K的子数组-java(2,hot100-数组)
没做出来的题目
009-回文数(1,简单遍历-数学)
016-最接近的三数之和(1,中等遍历-数组)
018-四数之和(1,中等遍历-数组)
028-实现strStr()(implement strstr)-java(3,简单算法-字符串)
032-最长有效括号-java(2,hot100-动态规划)
037-解数独(1,困难遍历-回溯)
040-组合总和2(1,困难遍历-回溯)
047-全排列2(1,中等遍历-回溯)
060-排列序列(1,困难遍历-数学)
072-编辑距离-java(2,hot100-动态规划)
085-最大矩形-java(2,hot100-动态规划)
127-单词接龙-java(2,高级算法-图)
149-直线上最多的点数-java(2,高级算法-数学)
166-分数到小数(fraction to recurring decimal)-java(3,中等算法-数学)
218-天际线问题-java(2,高级算法-其他,数组)
227-基本计算器 II-java(2,高级算法-数学)
239-滑动窗口最大值-java(2,高级算法-数组)
287-寻找重复数-java(2,高级算法-数组)
289-生命游戏-java(2,高级算法-数组)
297-二叉树的序列化与反序列化 (seriliaze and deseriliaze binary tree)-java(3,中级算法-设计,树)
301-删除无效的括号-java(2,高级算法-回溯算法)
312-戳气球-java(2,高级算法-动态规划)
324-摆动排序 II-java(2,高级算法-排序)
329-矩阵中的最长递增路径-java(2,高级算法-图)
399-除法求值-java(2,hot100-图)
406-根据身高重建队列-java(2,高级算法-其他,数组)
416-分割等和子集-java(2,hot100-动态规划)
581-最短无序连续子数组-java(2,hot100-数组)
739-每日温度-java(2,hot100-栈)
剑指offer
3-二维数组中的查找-java(完美完成,搜素)
4-替换空格-java(完美完成,字符串)
5-从尾到头打印链表-java(完美完成,链表)
6-重建二叉树-java(完美完成,树)
7-用两个栈实现队列-java(完美完成,栈)
8-旋转数组的最小数字-java(勉强完成,搜索)
9-斐波那契数列-java(完美完成,动态规划)
10-二进制中1的个数-java (完美完成,位运算)
11-数值的整数次方-java(完美完成,数学)
12-打印1到最大的n位数-java(完美完成,数学)
13-O(1)时间删除链表结点-java(完美完成,链表)
14-调整数组顺序使奇数位于偶数的后面-java(完美完成,数组)
15-链表中倒数第K个结点-java(完美完成,链表)
16-反转链表-java(完美完成,链表)
17-合并两个排序的链表-java(完美完成,链表)
18-树的子结构-java(完美完成,树)
19-二叉树的镜像-java(完美完成,树)
20-顺时针打印矩阵-java(完美完成,数组)
21-包含min函数的栈-java(完美完成,栈)
22-栈的压入、弹出序列-java(完美完成,栈)
23-从上往下打印二叉树-java(完美完成,树)
24-二叉搜索树的后序遍历序列-java(完美完成,树)
25-二叉树中和为某一值的路径-java(完美完成,树)
26-复杂链表的复制-java(完美完成,链表)
27-二叉搜索树与双向链表-java(完美完成,树)
28-字符串的排列-java(完美完成,回溯算法)
29-数组中出现次数超过一半的数字-java(完美完成,搜索)
30-最小的k个数-java(完美完成,排序)
31-连续子数组的最大和-java(完美完成,数组)
32-从1到n整数中1出现的次数-java(完美完成,数学)
33-把数组排成最小的数-java(完美完成,数组)
34-丑数-java(完美完成,数学)
35-第一个只出现一次的字符-java(完美完成,哈希表)
36-数组中的逆序对-java(完美完成,数组)
37-两个链表的第一个公共节点-java(完美完成,链表)
38-数字在排序数组中出现的次数-java(完美完成,数组)
39-二叉树的深度-java(完美完成,树)
40-数组中只出现一次的数字-java(没做出,位运算)
41-和为s的两个数字VS和为s的连续正数序列-java(完美完成,数组)
42-翻转单词顺序VS左旋转字符串-java(完美完成,字符串)
43-n个骰子的点数-java(没做出,数组)
44-扑克牌的顺子-java(没做出,数组)
45-圆圈中最后剩下的数字-java(没做出,链表)
46-求1+2+...+n-java(没做出,数学)
47-不用加减乘除做加法-java(完美完成,数学)
49-把字符串转为整数-java(完美完成,字符串)
50-树中两个节点的最低公共祖先-java(完美完成,树)