首页 > 代码库 > 数据结构与算法-链表查找倒数第K个值

数据结构与算法-链表查找倒数第K个值

查找链表中倒数第k个结点
题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下:

struct ListNode
{
      int       m_nKey;
      ListNode* m_pNext;
};

int FindCoundDownInList(pListNode head,int num)
{
    pListNode p1,p2;
    p1=p2=head;
    while(num-->0 && p1!=NULL) 
        p1=p1->m_pNext;
    if(p1==NULL) 
        return 0;
    else{
        while(p1!=NULL)
        {
            p1=p1->m_pNext;
            p2=p2->m_pNext;
        }
    return p2->m_nKey;
    }
}

 

数据结构与算法-链表查找倒数第K个值