算法

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的个数

posted @ 2017-09-15 16:22  fankongkong  阅读(181)  评论(0编辑  收藏  举报