单链表查找k节点 遍历一次链表

单链表查找k节点 遍历一次链表

1.如果能从链表尾部开始遍历,那只需倒序遍历 k 个节点即是要找出的节点,但是由于是单链表,只能从头结点开始遍历。

2.先遍历一遍该单链表,获取链表的总节点数 n,那么第 n-k+1 这个节点就是倒数第 k 个节点。所以第二次再遍历到第 n-k+1 这个节点即可,但是题目要求只能遍历一遍链表。

3.通过遍历该链表把节点都存入到一个数组中,然后再通过数组下标可直接获取到倒数第 k 个节点,但是这样会需要额外的存储空间,空间复杂度为 O(n)。

推荐阅读