05查找单链表中倒数第k个节点
首先遍历一遍,得到链表的总长度size,然后再正序遍历(size-index)得到倒数第index个节点/***查找单链表中倒数第k个节点*首先遍历一遍,得到链表的总长度size,然后再正序遍历(size-index)得到倒数第index个节点**@paramhead链表头节点*@paramindex倒数第index个节点*@return返回倒数第index个节点*/publicstaticHeroNodefindLastNode(HeroNodehead,intindex){if(head==null){returnnull;}//得到链表的长度intsize=getLength(head);//数据校验if(index>size||index<=0){returnnull;}//定义辅助变量HeroNodetargetNode=head.next;for(inti=0;i<size-index;i++){targetNode=targetNode.next;}returntargetNode;}测试//测试一下查找单链表中倒数第k个节点intindex=-1;System.out.printf("倒数第%d个节点:"+findLastNode(singleLinkedList.getHead(),index),index);
来自:链表-单向链表