//正常思路,先統計下改鏈表有多長,而後遍歷鏈表到長度-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; }
}循環