您的位置:首页 > 编程语言 > Java开发

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

2015-01-16 11:40 267 查看
这里我们假设使用两个指针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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java eclipse
相关文章推荐