算法
1、滑动窗口的最大值:双端队列
2、数据流中的中位数:排序
3、二叉搜索树的第k大结点:递归,中序遍历
4、二叉树的深度:递归
5、把二叉树打印多行:队列,编号,每一行的大小
6、按之字形顺序打印二叉树:定义一个布尔类型,用栈来存不同的那一行,再pop
7、对称的二叉树 递归
8、二叉树的下一个结点:根据是否有右子树,有则是右子树的最左边结点,无则是第一个当前结点是父结点左孩子的结点
9、删除链表中重复的结点:注意头结点,注意要把重复的删除掉
10、链表中环的入口结点:两个指针 一个走一步 一个走两步
11、数组中重复的数字:布尔数组
12、不用加减乘除做加法:用异或 与 & 再左移动一位
13、孩子的游戏
14、左旋转字符串
15、数组中只出现一次的数字 异或 求异或结果中从右往左第一个不为0 的位,将数组分为两部分,分别求异或
16、平衡二叉树
17、数字在排序数组中出现的次数
18、两个链表的第一个公共结点
19、丑数
20、数组中1出现的次数
21、连续子数组的最大和
22、二叉树中和为某一个值的路径
23、二叉树的镜像
24、合并两个排序的链表
25、反转链表
26、链表中倒数第k个结点
27、二进制中1的个数