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;          //返回新的头结点地址
}

上一篇:使用 OpenSSL 创建私有 CA:2 中间证书


下一篇:MQTT研究之EMQ:【SSL双向验证】