ACWING33. 鏈表中倒數第k個節點(劍指offer)

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

注意:

k >= 0;
如果k大於鏈表長度,則返回 NULL;
樣例
輸入:鏈表:1->2->3->4->5 ,k=2

輸出:4

class Solution {
public:
    ListNode* findKthToTail(ListNode* pListHead, int k) {
        ListNode* p = pListHead;
        ListNode* p1 = p;
        int n = 0;
        while(p1) {
            p1 = p1 -> next;
            n++;
        }
        int cnt = n - k;
        while(p && cnt) {
            p = p -> next;
            cnt--;
        }
        return p;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章