单链表输出倒数第k个元素java实现

单链表输出倒数第k个元素
简单粗暴直接思路:遍历两次,第一次遍历整个列表确定长度n,而倒数第k个即第n-k-1(注意起点为0)个,第二次遍历走n-k-1步即可获得答案。缺点:节点数量较多时,节点从硬盘到物理内存的读写是一个耗时操作。
巧妙的方法:定义两个指针,我们都知道倒数第k个距离最后一个的距离是k-1,所以可以先移动一个指针走k步后,然后两个指针同时移动,那么在快的指针到达结尾时,慢的指针到达的位置正好是倒数第k个。

//如何找出单链表中的倒数第k个元素class Node{Node next=null;int data;public Node(int data){this.data=data;}
}public class findKelem {public static Node method(Node head,int k) {if(k<0) {return null;}Node p1=head;Node p2=head;for(int i=0;i

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部