维护两个指针,第一个指针先走k-1步,第二个指针保持不动;从第k步开始,两个指针一起向后移动。
// 维护两个指针,一前一后,让我想起了经典的尺取法...
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(head == null||k<=0){
return null;
}
ListNode l = head,r = head;
for(int i=0;i<k-1;i++){
if(r.next==null){
return null;
}
r = r.next;
}
while(r.next!=null){
r = r.next;
l = l.next;
}
return l;
}
}
京公网安备 11010502036488号