其他分享
首页 > 其他分享> > C递归逆置单链表

C递归逆置单链表

作者:互联网

1.先递归使头指针指向最后一个节点。

2.将最后一个节点的地址返回给新的头指针 “newhead” 。

3.然后依次重队尾指针开始,对里面的指针域进行逆置。

4.每次逆置完需要将当前节点的指针域置NULL。

5.最后返回新的头结点地址。

代码:

LinkList InversionList(LinkList head) {
	if (head->next == NULL) {
		return head;        //返回最后一个结点地址
	}
	LinkList newhead = InversionList(head->next);	//移动到最后一个节点,将地址付给newhead
	head->next->next = head;        //进行逆置
	head->next = NULL;
	return newhead;          //返回新的头结点地址
}

标签:head,单链,递归,newhead,地址,next,逆置,指针
来源: https://blog.csdn.net/weixin_48993971/article/details/122778897