翻转链表

来源:互联网 发布:wifi广告营销系统源码 编辑:程序博客网 时间:2024/05/21 11:19

给你一个单链表,写一段代码,翻转该链表。

代码如下:

struct ListNode{      int        m_nKey;       ListNode* m_pNext;};ListNode* ReverseIteratively(ListNode* pHead){       ListNode* pReversedHead = NULL;       ListNode* pNode = pHead;       ListNode* pPrev = NULL;      while(pNode != NULL)       {            // get the next node, and save it at pNext             ListNode* pNext = pNode->m_pNext;            // if the next node is null, the currect is the end of original             // list, and it's the head of the reversed list            if(pNext == NULL)                   pReversedHead = pNode;            // reverse the linkage between nodes             pNode->m_pNext = pPrev;            // move forward on the the list             pPrev = pNode;             pNode = pNext;       }      return pReversedHead;}


原创粉丝点击