1. 程式人生 > >劍指offer——鏈表中倒數第k個結點

劍指offer——鏈表中倒數第k個結點

劍指offer 還要 nod 大於 list ota col 輸出 null

輸入一個鏈表,輸出該鏈表中倒數第k個結點。

class Solution {
public:
    ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
        ListNode* p1=pListHead,*p2=pListHead;
        int count=0;
        while(p1!=NULL){
            count++;
            if(count>k) p2=p2->next;
            p1=p1->next;
        }
        
return count<k?NULL:p2; } };

分析:用兩個指針來判斷,兩個指針差k個位置,當後面一個指針到尾部時,前面那個就在倒數第k個位置。還要註意判斷k大於鏈表長度的情況。

劍指offer——鏈表中倒數第k個結點