题目描述
定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。
struct ListNode
{
int m_nValue;
ListNode* m_pNext;
};
解析
链表反转中,需要三个链表指针,一个指向当前被修改指针域的结点pNode,一个保存上一个结点pPrev,一个保存下一个需要被修改的结点pNext。
实现
ListNode* ReverseList(ListNode* pHead){
if (pHead == NULL)
return NULL;
ListNode* pNode = pHead; //pNode指向当前修改指针的结点
ListNode*