查找单链表中的倒数第k个节点
//查找单链表中的倒数第k个节点
//思路
//1.编写一个方法,接收head节点,同时接收一个index
//2.index表示是倒数第index个节点
//3.先把链表从头到尾遍历,得到链表的总长度(getLength())
//4.得到size后,我们从链表的第一个开始遍历(size - index)个,就可以得到
//5.如果找到了,返回该节点,否则返回null
public static HeroNode2 findLastIndexNode(HeroNode2 head,int index){
//判断链表是否为空
if (head.next == null){
return null;//空链表
}
//第一次遍历得到链表的长度(节点个数)
int size = getLength(head);
//第二次遍历 size-index 位置,就是我们倒数的第K个节点
//先做一个校验
if (index <= 0 || index > size){
return null;
}
//定义一个辅助变量
HeroNode2 temp = head.next;
for (int i = 0; i < size - index; i++) {
temp = temp.next;
}
return temp;
}