1.反转链表
2.相交链表
3.判断链表是否是环
二叉树的中序遍历
跳台阶
求 最大(小)的K 个数 构建小(大)顶堆
//最小的k个数
//输入n个整数,输出其中最小的k个数
//解答:虽然利用快排的思想很好的解决了问题,但是也有限制,首先我们需要 , 一次性读入所以的数据,
其次,需要修改输入的数组
//利用堆排序来解决此问题,此种方法适合处理海量数据
//首先我们先读入k个元素创建一个大小为k的大根堆,然后我们依次读入剩下的
数据,如果当前数据比大根堆的堆顶小,则用这个数代替当前
//堆顶,并调整堆使其保持大根堆的性质;如果当前数据比堆顶大,那么这个数不可能是最小的k个整数之一,故可以抛弃此数,此种方法的复杂度为O(nlogk)
LRU缓存设计
寻找第 K 大数
去重或者不去重的,
快排排序 , 然后取出来, 时间复杂度是 O(N)logN
链表中倒数第k个结点
删除有序链表中重复的元素
重排链表
环形链表的约瑟夫问题
二分查找
括号生成问题
二叉树是否对称
旋转有序数组的二分查找
网友评论