Leetcode-24 反转链表(C语言描述)

题目描述

Leetcode-24 反转链表(C语言描述)_第1张图片

方法一

三指针实现
定义三个指针,分别为pA,pB,pTemp,pA开始指向空,pB指向链表的头节点,pTemp用来记录当前节点的下一个节点
首先使用pTemp记录当前节点(刚开始为头节点)的下一个节点,然后使当前节点pB指向pA,并且pA pB同时迭代,向前移动,直到pB指向
NULL,返回pA,即为反转后的头节点。
Leetcode-24 反转链表(C语言描述)_第2张图片
代码

struct ListNode* reverseList(struct ListNode* head)
{
	struct ListNode *pA=NULL;
	struct ListNode *pB=head;
	struct ListNode *pTemp=NULL;
	while(pB!=NULL)
	{
		pTemp=pB->next;
		pB->next=pA;
		pA=pB;
		pB=pTemp;
	}
	return pA;
}

你可能感兴趣的:(数据结构刷题记录,数据结构,链表)