算法实现返回链表倒数第K个结点的值

来源:互联网 发布:淘宝红包怎么领 编辑:程序博客网 时间:2024/06/07 05:42

迭代方法实现,用两个指针,p1 p2首先都指向头结点,p2向前移动k个结点,然后p1 p2同时向前移动,当p2指向尾结点时,p1就指向了第length-k个结点

LinkedListNode nthTolast (LinkedListNode head,int k )

{

if(k<=0) return null;

LinkedListNode p1=head;

LinkedListNode p2=head;

for(int i=0;i<k-1;i++)

{

if(p2==null) return null;

p2=p2.next;

}

if(p2==null) return null;

while(p2.next!=null)

{

p1=p1.next;

p2=p2.next;

}

return p1;

}

0 0
原创粉丝点击