《剑指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. 反转链表

LeetCode(剑指 Offer)- 24. 反转链表

LeetCode(剑指 Offer)- 24. 反转链表

剑指 Offer 24. 反转链表 c++/java详细题解

剑指 Offer 24. 反转链表 c++/java详细题解

剑指 Offer 24. 反转链表(双指针+递归)