面试题16:反转链表

三个指针,标识当前节点,当前节点前一个节点,以及后一个节点。注意处理头指针为NULL的情况,返回值是最后一个节点

我的代码:

 1 ListNode* ReverseList(ListNode* pHead)
 2 {
 3     ListNode *proNode = NULL;
 4     ListNode *Node = pHead;
 5     ListNode *nextNode = NULL;
 6     if (pHead == NULL)
 7         return NULL;
 8     while (Node->m_pNext != NULL)
 9     {
10         nextNode = Node->m_pNext;
11         Node->m_pNext = proNode;
12         proNode = Node;
13         Node = nextNode;
14     }
15     Node->m_pNext = proNode;
16     return Node;
17 }
原文地址:https://www.cnblogs.com/raichen/p/5643934.html