您的位置:首页 > 其它

寻找链表中倒数第K个结点的位置

2014-04-24 20:28 211 查看
输入一个链表,输出该链表中倒数第K个结点。



struct ListNode
{
int m_nValue;
ListNode* m_pNext;
};
ListNode* FindKthToTail(ListNode* pListHead , unsigned int K)
{
if (!pListHead || K <=0)
{
return NULL ;
}
ListNode* pAhead = pListHead;
ListNode* pBehind = NULL ;
for (int i=1 ; i != K ;i++)
{
if (pAhead->m_pNext != NULL)
{
pAhead = pAhead->m_pNext ;
}
else
{
return NULL;
}
}
pBehind = pListHead ;
while(pAhead->m_pNext != NULL)
{
pAhead = pAhead->m_pNext ;
pBehind = pBehind->m_pNext;
}
return pBehind ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: