题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。链表节点定义如下:
struct ListNode
{
int m_nValue;
ListNode* m_pNext;
};
ListNode* ReverseList(ListNode* pHead)
{
ListNode* pReversedHead=nullptr;
ListNode* pNode=pHead;
ListNode* pPrev=nullptr;
while(pNode!=nullptr)
{
ListNode* pNext=pNode->m_pNext;
if(pNext==nullptr)
pReversedHead=pNode;
pNode->m_pNext=pPrev;
pPrev=pNode;
pNode=pNext;
}
return pReversedHead;
}