数组
1.剑指offer-6.旋转数组的最小数字
2.剑指offer-13.调整数组顺序使奇数位于偶数前面
3.剑指offer-46.孩子们的游戏(圆圈中最后剩下的数)
4.vivo笔试练习B02.报数
5.剑指offer28.数组中出现次数超过一半的数字
6.剑指offer29.最小的k个数
7.剑指offer30.连续子数组的最大值
8.剑指offer40-数组中只出现一次的数字
9.剑指offer41.和为S的连续正数序列(滑动窗口法)
10.剑指offer42.和为S的两个正数(双指针法)
11.剑指offer44.翻转单词顺序列(滑动窗口)
12.剑指offer45.扑克牌顺子
数学
1.位运算 剑指offer-11.二进制中1的个数
2.幂运算 剑指offer-12.数值的整数次方
3.位运算 剑指offer47.求1+2+…n
4.位运算 剑指offer48.不用加减乘除做加法
链表
1.剑指offer-3.从尾到头打印链表
2.剑指offer-14.链表中倒数第k个结点
3.剑指offer-15.反转链表
4.剑指offer-16.合并两个排序的链表
5.剑指offer-25.复杂链表复制
6.剑指offer-36.两个链表的第一个公共结点
7.LeetCode2.两数相加(进制,进位)
8.LeetCode面试题02.05 链表求和(两数相加变形,携程手撕)
栈和队列
字符串
1.剑指offer-27.字符串的排列(回溯)
树
1.剑指offer-4.重建二叉树
2.剑指offer17.树的子结构
3.剑指offer18.二叉树的镜像
4.剑指offer22.从上往下打印二叉树
5.剑指offer23.二叉搜索树的后序遍历序列
6.剑指offer-24.二叉树和为某一值
7.剑指offer-26.二叉搜索树与双向链表
8.剑指offer38.二叉树的深度
9.剑指offer39.平衡二叉树
10.剑指offer57.二叉树的下一个节点
11.剑指offer58.对称的二叉树
12.剑指offer59.按之字形顺序打印二叉树
13.剑指offer-60.把二叉树打印成多行
14.剑指offer61.序列化二叉树
15.剑指offer-62.二叉搜索树的第k个结点
16.LeetCode124.二叉树中的最大路径和(Java)
动态规划
1.剑指offer-7.裴波那锲数列
2.剑指offer-8.跳台阶
3.剑指offer-9.变态跳台阶
4.剑指offer-10.矩形覆盖
5.LeetCode322.零钱兑换
6.LeetCode518. 零钱兑换 II
BFS
回溯法(DFS)
循环条件:i=start
循环内:交换,作选择(加入当前值),递归start+1,交换,撤销最后一个值
1.LeetCode46.全排列I(元素无重复)
2.剑指offer-27.字符串的排列(元素有重复)
3.LeetCode47. 全排列 II(元素有重复,用set判断)