倒置链表(递归方式)

前端之家收集整理的这篇文章主要介绍了倒置链表(递归方式)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前面已经有一个循环形式的。

现在加一个递归形式。

当然,如果循环形式的已经写出,递归也就信手拈来。


代码

struct ListNode
{
	int nData;
	ListNode* pNext;
};
ListNode* Reverse(ListNode* pPrev,ListNode* pCur)
{
	if (NULL == pCur->pNext)
	{
		pCur->pNext = pPrev;
		return pCur;
	}

	ListNode* pNext = pCur->pNext;
	pCur->pNext = pPrev;

	return Reverse(pCur,pNext);
}
void Reverse(ListNode* &pHead)
{
	if (NULL == pHead || NULL == pHead->pNext)
		return;

	pHead = Reverse(NULL,pHead);
}

猜你在找的设计模式相关文章