题目:查找单链表中的倒数第k个结点
思路:
1.编写一个方法,接收head节点,同时接收一个index
2.index表示是倒数的第index个节点
3.先把链表从头到尾遍历,得到链表的总长度getlength
4.得到size后,从链表的第一个开始遍历(size-index)个,就可以得到k
5.如果得到了,就返回该节点,否则返回null
编写方法:
public static HeroNode findLastIndexNode(HeroNode head,int index) {
//判断,如果链表为空,返回null
if(head.next == null) {
return null;
}
//遍历获得总的长度
int size = getLength(head);
//获取size - index的位置
if(index<=0 || index>size) {
return null;
}
HeroNode cur=head.next;
for(int i=0;i<size-index;i++) {
cur = cur.next;
}
return cur;
}
测试:
//测试
HeroNode res=findLastIndexNode(singleLinkedList.getHead(),4);
System.out.println(res);