一个单链表中返回倒数第n个元素

Posted bot攻略

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个单链表中返回倒数第n个元素相关的知识,希望对你有一定的参考价值。

这里我们假设使用两个指针p1,p2;

p1指向头节点,p2指向节点n;

p1和p2一齐移动,始终保持距离R,R=n;

很容易得p2=null时,p1就是所要的值。

建立链表的代码在上一篇笔记上有写,在此直接调用


public class qu_n_zhi


static int []input=12,35,12,78,15,76,21,58,54,1;
public static void main(String[] args)
// TODO Auto-generated method stub
int n = 5;
LinkedListNode list = new LinkedListNode();
list = list.buildList(input);
System.out.print("倒数第n个数为:"+qu_n(list, n).data);


public static LinkedListNode qu_n(LinkedListNode head,int n)
if(head==null||n<1)
return null;

LinkedListNode p1=head;
LinkedListNode p2=head;
for(int i=0;i<n-1;i++)
if(p2==null)
return null;

p2=p2.link;

while(p2.link!=null)
p1=p1.link;
p2=p2.link;


return p1;





以上是关于一个单链表中返回倒数第n个元素的主要内容,如果未能解决你的问题,请参考以下文章

一个单链表中返回倒数第n个元素

如何找出单链表中的倒数第k个元素

[算法]在单链表和双链表中删除倒数第k个结点

2.2 在单链表和双链表中删除倒数第K个节点

链表问题----删除倒数第K个节点

链表中倒数第k个结点