단일 체인 시트 의 마지막 k 번 째 노드 를 찾 습 니 다. 체인 시트 (C 언어) 를 한 번 만 옮 겨 다 닐 수 있 도록 요구 합 니 다.

1625 단어 데이터 구조
PSListNode FindLastKNode(PSListNode pHead, int K)
{
    if ((NULL == pHead) || (K <= 0))
    {
        return NULL;
    }
    else
    {
        PSListNode pFast = pHead;
        PSListNode pSlow = pHead;
        //      ,      K-1 ,        ,                 
        while (--K)
        {
            pFast = pFast->pNextNode;
            if (NULL == pFast)
            {
                return NULL;
            }
        }
        while (NULL != pFast->pNextNode)
        {
            pFast = pFast->pNextNode;
            pSlow = pSlow->pNextNode;
        }
        return pSlow;
    }
}

좋은 웹페이지 즐겨찾기