您的位置:首页 > Web前端

剑指Offer:链表中倒数第k个结点

2016-05-26 20:23 281 查看
/*
public class ListNode {
int val;
ListNode next = null;

ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(head == null || k <=0 ) return null;
int length = 1;
ListNode tmp = head;
//当tmp指向k-1个元素时,after和tmp一起移动,当tmp移到末尾时,after刚好到
//倒数k个位置
ListNode after = head;
while( tmp.next != null){
if(length < k){
tmp = tmp.next;
}
else if(length >= k){
tmp = tmp.next;
after = after.next;
}
length++;
}
//如果当k大于链表长度时当然要返回null
if( k > length ) return null;
return after;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  剑指offer 链表