考点介绍:
链表是校招面试里手撕代码出现频度比较高的题型,三线和中小厂会考察简单的链表反转,大厂会进一步考察复杂度和双指针问题,比如中间元素、是否存在环等。
本期分享的前端链表算法之快慢指针题型,分为试题、文章以及视频三部分。
答案详情解析和文章内容点击下方链接即可查看!
一、考点题目
1、找出单链表的中间元素,要求用时最少
解答:最简单实现,先遍历一遍链表,取得长度n;再遍历一遍,取n/2的位置的结点......
2、单链表中是否有环,写出代码
解答:一个指针只能遍历,没有办法做出判断......
3、如果单链表中是有环,请找到环的入口点
解答:这是【单链表中是否有环,写出代码】的扩展题,可以划分到面试中难度最大的那一档中......
4、求单链表中有效节点的个数(如果有头结点,不统计头结点)
解答:
public static int getLenth(Node head){
if (head.next == null) {
return 0;
}
int lenth = 0;
//让辅助指针指向头结点的下一个,就没有统计头结点
Node temp = head.next;
while(temp != null){
temp = temp.next;
lenth++;
}
return lenth;
}
(答案点击下方链接查看哦)
二、考点文章
1、那些前端用js手搓出来的算法与数据结构(一)链表篇
js没有指针 怎么操作地址,怎么创建链式结构……
2、常见算法总结 - 链表篇
我们可以采用快慢指针的思想,使用步长为1的慢指针和步长为2的快指针,当快指针抵达链表末尾时,此时慢指针指向的即为中点位置……
(点击下方链接查看完整版)
三、考点视频
1、用js实现数组排序
本题重点在于考查数据结构的排序算法,小讲分别使用了简单的冒泡排序和复杂的快速排序,从思路到实现……
更多资讯可搜索校招VIP小程序查看哦!
移动端链接:https://m.xiaozhao.vip/dTopic/detail/595
PC端链接:校招VIP,专题 - 校招VIP