public static ListNode kFormEnd(ListNode head,int k){
if(k <= 0 || head == null){
return null;
}
ListNode pTemp = head,pk=null;
//pTemp(沿着链表)移动了k-1次
for(int count = 1;count<k;count++){
if(pTemp != null){
pTemp = pTemp.next;
}
}
while (pTemp !=null){
if(pk == null){
pk = head;
}else {
pk = pk.next;
}
pTemp = pTemp.next;
}
if(pk !=null){
return pk;
}
return null;
}
//时间复杂度O(n) 空间复杂度O(1) //1->2->3->4->5->6: k=3: ==> 4 n-(k-1)for循环k-1次,pTem=>2 ; while循环 ,刚好还可以遍历四次
所以pTemp为空时,pk刚好遍历到节点4