思路
- 快慢指针,快指针先走k步,然后同步走,快指针走到最后,即两个指针中间隔了k个开始走
- 遍历链表算出长度
代码
快慢
public class Solution { public ListNode FindKthToTail(ListNode head,int k) { ListNode t=head,res=head;//t为快指针,res为慢指针 while(k>0 &&t!=null){ k--; t=t.next; } if(k>0){return null;} while(t!=null){ t=t.next; res=res.next; } return res; } }