力扣面试题汇总

序言

1.永远不要沉迷碎片化的知识

2.谨慎播撒你的精力种子

3.改变我们的人生的,不单单是道理,还有方法

题库

数组1115 字符串551 动态规划406 哈希表403 数学386 深度优先搜索281 排序247 广度优先搜索227 224
贪心215 二叉树195 二分查找184 数据库178 双指针173 矩阵172 位运算151 140 设计131
堆(优先队列)114 回溯107 93 链表90 模拟80 前缀和75 滑动窗口73 计数66 并查集66
递归60 二叉搜索树54 分治51 字典树49 单调栈44 有序集合41 队列37 状态压缩33 记忆化搜索33
几何32 线段树25 拓扑排序24 博弈23 枚举23 哈希函数22 数据流20 树状数组19 字符串匹配18
交互18 滚动哈希14 随机化14 最短路14 组合数学13 归并排序11 双向链表11 单调队列10 快速选择10
数论10 迭代器10 脑筋急转弯10 概率与统计9 多线程9 桶排序8 计数排序6 后缀数组5 最小生成树5
扫描线4 Shell4 水塘抽样4 强连通分量2 欧拉回路2 拒绝采样2 基数排序2 双连通分量1  

面试题

1、单链表的创建和遍历

2、求单链表中节点的个数

3、查找单链表中的倒数第k个结点(剑指offer,题15)

4、查找单链表中的中间结点

5、合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17)

6、单链表的反转【出现频率最高】(剑指offer,题16)

7、从尾到头打印单链表(剑指offer,题5)

8、判断单链表是否有环

9、取出有环链表中,环的长度

10、单链表中,取出环的起始点(剑指offer,题56)。本题需利用上面的第8题和第9题。

11、判断两个单链表相交的第一个交点(剑指offer,题37)

 

给出一个链表[1, 2, 3, 4, 5]

反转为[5, 4, 3, 2, 1]

在对链表进行操作时,一种常用的技巧是添加一个哑节点(dummy node),它的 \textit{next}next 指针指向链表的头节点。这样一来,我们就不需要对头节点进行特殊的判断了。

迭代反转链表

递归反转链表

头插法反转链表

所谓头插法,是指在原有链表的基础上,依次将位于链表头部的节点摘下,然后采用从头部插入的方式生成一个新链表,则此链表即为原链表的反转版

就地逆置法反转链表

资料

http://c.biancheng.net/view/8105.html

https://www.cnblogs.com/qianguyihao/p/4782595.html

posted @ 2020-10-24 14:02  ~沐风  阅读(263)  评论(0编辑  收藏  举报