《剑指Offer——24. 反转链表》代码
Posted 穿迷彩服的鲨鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《剑指Offer——24. 反转链表》代码相关的知识,希望对你有一定的参考价值。
前言
//==================================================================
// 《剑指Offer——24. 反转链表》代码
// 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
//==================================================================
一、示例
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
二、代码解析
1.新建.cpp文件
代码如下(示例):
//==================================================================
// 《剑指Offer——24. 反转链表》代码
// 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
//==================================================================
struct ListNode
{
int val;
ListNode* next;
};
class Solution
{
public:
ListNode* reverseList(ListNode* pHead)
{
ListNode* pReversedHead = nullptr;
ListNode* pPrev = nullptr;
ListNode* pNode = pHead;
while (pNode != nullptr)
{
ListNode* pNext = pNode->next;
if (pNext == nullptr)
{
pReversedHead = pNode;
}
pNode->next = pPrev;
pPrev = pNode;
pNode = pNext;
}
return pReversedHead;
}
};
// 1-->2-->3-->NULL
// 3-->2-->1-->NULL
以上是关于《剑指Offer——24. 反转链表》代码的主要内容,如果未能解决你的问题,请参考以下文章
剑指 Offer 24. 反转链表 c++/java详细题解