返回鏈表中間節點

ListNode *FindKthToTail(ListNode* pListHead,int k){
    ListNode* slow=pListHead;  //定義一個慢指針
    ListNode* fast=pListHead;  //定義一個快指針
    while(k--){
        if(fast){ //當快指針不爲空時,
        fast=fast->next; //先讓快指針走k步。
        }else{
            return NULL;
        }
        }
    while(fast){
        fast=fast->next; //然後快慢指針同時走,直到快指針爲空爲止
        slow=slow->next;
        }
    return slow;  //這時返回慢指針的位置即時鏈表中間節點
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章