扫码关注公众号

java算法之链表算法
03-03
595观看
01

一个长度为n的单向链表,用O(1) 空间复杂度来实现倒转输出,使用最低时间复杂度

思路:读题(反射)单向链表,直接设结点Nodehead;要倒转就需要重置链接,设记忆结点Nodep空间复杂度为O(1),就是不能使用新的空间

来自:链表算法-链表算法
02

找出单链表的中间元素,要求用时最少

思路1、最简单实现,先遍历一遍链表,取得长度n;再遍历一遍,取n/2的位置的结点2、要求用时最少,能不能减少为遍历1次?3、如果有两个指针都

来自:链表算法-链表算法
03

单链表中是否有环,写出代码

思路1、一个指针只能遍历,没有办法做出判断2、尝试两个结点,两个结点通常是slow走一步,fast走两步3、通过画图或者思考,可以看出,有环

来自:链表算法-链表算法
04

如果单链表中是有环,请找到环的入口点

思路这是【单链表中是否有环,写出代码】的扩展题,可以划分到面试中难度最大的那一档中没有思路,只能静下心来 找环的入口点,就是找到入

来自:链表算法-链表算法
05

已知 pPre 为指向链表中某结点的指针, pNew 是指向新结点的指针,以下哪段伪码算法是将一个新结点插入到链表中 pPre 所指向结点的后面?

正确答案是C首先将旧结点的指针域(即pPre->Link,它存放着接下来的那个结点的地址)赋值给新结点的指针域(pNew->Link).这一步是因为:为了完成插入,新结点应该指向旧结点原来指向的元素。然后将指向新结点的指针(pNew,即新结点的地址)赋值给旧结点的指针域(pPre->Link),以让旧结点指向新结点。

来自:链表算法-链表算法
课程
专栏
算法-链表算法-链表算法
2专栏
1课程
5 试题