本文共 767 字,大约阅读时间需要 2 分钟。
链表反转是一个常见的数据结构操作,其基本思路是从原链表的末尾向前遍历,并将节点逐步反转,形成新的链表。
反转链表的步骤如下:
通过这种方式,每个节点都会被逐步反转,形成新的链表结构。
优化后的代码如下:
#include "ListNode.h"using namespace std;ListNode* reversedListNode(ListNode* pHead) { if(pHead == NULL) return NULL; ListNode* pRrev = NULL; ListNode* pNode = pHead; ListNode* pNext = NULL; ListNode* pPrev = NULL; while(pNode != NULL) { pNext = pNode->m_pNext; if(pNext == NULL) { pRrev = pNode; } pNode->m_pNext = pPrev; pPrev = pNode; pNode = pNext; } return pRrev;}
转载地址:http://fieqz.baihongyu.com/