//正常思路,先统计下改链表有多长,而后遍历链表到长度-kcode
public class Solution {io
public ListNode FindKthToTail(ListNode head,int k) { int a=0; ListNode temp=head,temp1=null; while(temp!=null) { temp =temp.next; a++; } if(a<k) return null; for(int i=0;i<a-k;i++){ head=head.next; } return head; }
}class
//大佬的思路,先作个长度为k的尺子,当尺子移动到末端时,尺子左边就是要找的倒数第k个节点 public ListNode FindKthToTail(ListNode head,int k) {List
ListNode p=head; //找到顺数的第k个节点 for(int i=0;i<k;i++) { if(p==null) return null; p=p.next; } ListNode q=head; //循环顺数第k个节点后面是否有节点,有则移动,无则说明q就是倒数第k个节点 while(p!=null){ q=q.next; p=p.next; } return q; }
}循环