本文参考书籍 《剑指offer》 作者何海涛
01 题目
输入一个单向链表, 输出该链表中倒数第k个结点。 如一个链表中有6个结点,1,2,3,4,5,6; 这个链表的倒数第三个节点是值为4的结点。
链表结构如下:
02 解题
解法1:获取链表的第k个值,如果可以知道链表长度n,那么可以知道从0开始第n-k的值是要获取的元素。但是我们需要先遍历一次链表获得数组长度,然后在遍历得到值,需要两次遍历。
解法2:我们用两个指针,aHead,先向前走k-1个值,bBackward再出发,那么aHead和bBackward之间相差k-1个值,当aHead到达数组结尾时,bBackward就是要获取的值。
03 代码
如果有类似解题,我们可以先行一个,不同步长去解类似的题目。