版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Nash_Cyk/article/details/79083066
链表逆序也是比较常见的操作,注意断链接链!注意判断空状态!
LIST_NODE * ListNodeReverse(LIST_NODE * m_pHead)
{
if (m_pHead == NULL)
{
return NULL;
}
if (m_pHead->next == NULL)
{
return m_pHead;
}
LIST_NODE * m_pReverse = NULL;
LIST_NODE * m_pCurrent = m_pHead;
while(m_pCurrent != NULL)
{
LIST_NODE * pTemp = m_pCurrent; //保存当前节点
m_pCurrent = m_pCurrent->next; //将当前节点向下移动
pTemp->next = m_pReverse; //将保存的节点连接·到反向链表的头
m_pReverse = pTemp; //将链表接上
}
return m_pReverse;
}