力扣探索模块
数据结构:
链表(10):
反转和合并操作
206.反转链表
92.反转链表II(反转位置从m到n的一部分链表)
25.每K个一组反转链表
21.合并两个有序链表
23.合并K个排序链表
交点问题
160.找出两个链表的交点
141.环形链表(快慢指针,判断是否有环)
142.环形链表II(快慢指针,找环的入口结点)
链表相加
2.链表中两数倒序相加(尾插法)
445.链表求和(头插法)
83.删除排序链表中的重复元素
19.删除链表的倒数第n个节点
24.交换链表中的相邻结点
234.回文链表
725.分割链表
328.链表元素按奇偶聚集
树-递归(14):
104.二叉树的最大深度(二叉树的高度)
110.平衡二叉树
543.两节点的最长路径(二叉树的直径)
226.翻转二叉树
617.合并二叉树
112.判断路径总和是否等于一个数
437.统计路径和等于一个数的路径数量
572.子树
101.对称二叉树
111.二叉树的最小深度
404.统计左子节点的和
687.相同结点值的最大路径长度
337.间隔遍历
671.找出二叉树中第二小的结点
538.把二叉搜索树转换为累加树
105.从前序与中序遍历序列构造二叉树
106.从中序与后序遍历序列构造二叉树
889.根据前序和后序遍历构造二叉树
144.二叉树的前序遍历
94.二叉树的中序遍历
145.二叉树的后序遍历
栈与队列(6):
232.用栈实现队列
225.用队列实现栈
155.最小值栈
20.用栈实现括号匹配
739.数组中元素与下一个比它大的元素之间的距离
503.循环数组中比当前元素大的下一个元素
哈希表():
1.数组中两个数的和为给定值
217.判断数组是否含有重复元素
594.最长和谐序列
128.最长连续序列
146.LRU缓存机制
460.LFU缓存
数组和矩阵():
283.把数组中的0移到末尾
面试题01.07.旋转矩阵
字符串():
344.反转字符串
242.两个字符串包含的字符是否完全相同
409.计算一组字符集可以组成的回文字符串的最大长度
205.字符串同构
67.二进制求和
图():
785.判断二分图
位运算():
461.汉明距离
算法:
双指针(快慢指针、左右指针、滑动窗口):
167.有序数组的TwoSum
动态规划():
动态规划笔记
70.爬楼梯
198.强盗抢劫
213.强盗在环形街区抢劫
面试题17.09.第k个数
322.零钱兑换
518.零钱兑换II
887.鸡蛋掉落
回溯法:
46.全排列
排序():
快速排序笔记
215.Kth Element
75.颜色分类(三路快排)
581.最短无序连续子数组(选择排序)
347.出现频率最多的K个元素(桶排序、小根堆\优先队列)
148.排序链表(归并排序)
贪心思想():
455.分配饼干
435.不重叠的区间个数(桶排序、小根堆\优先队列)
二分查找():
69.求开方
分治():
搜索():
数学问题():