您当前的位置: 首页 >  链表

龚建波

暂无认证

  • 2浏览

    0关注

    313博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

单链表反序

龚建波 发布时间:2019-03-10 20:55:22 ,浏览量:2

看图说话,需要用到三个连续节点的指针,用中间那个来进行反序操作(P2->next=P1)。

template
struct Node
{
	T value;
	Node *next;
};

template
Node *singleLinkedListReverse(Node *head)
{
	if ( !head || !head->next)
	{
		return head;
	}
	//需要同时知道相连的三个节点,
	//将中间节点的指针指向前一个节点后,继续向后遍历
	Node *p1 = head, *p2 = head->next, *p3;
	while (p2)
	{
		p3 = p2->next;

		p2->next = p1;
		p1 = p2;
		p2 = p3;
	}
	head->next = nullptr;
	return p1;
}

 

关注
打赏
1655829268
查看更多评论
立即登录/注册

微信扫码登录

0.1056s