递归实现链表逆序(不需三个临时指针变量)
来源:互联网 发布:水电图设计软件 编辑:程序博客网 时间:2024/05/19 19:32
List *list_reverse(List *head)
{
/*List *p,*q,*r;
p=head;
q=p->next;
while(q!=NULL)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
head->next=NULL;
head=p;
if(head==NULL || head->next==NULL)
return head;
new_head = list_reverse(head->next);
head->next->next=head;
head->next=NULL; //防止链表成为一个环,这是最关键的。
return new_head;
}
{
/*List *p,*q,*r;
p=head;
q=p->next;
while(q!=NULL)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
head->next=NULL;
head=p;
return head; *///上为三个临时指针变量方法实现
List* new_head=head;if(head==NULL || head->next==NULL)
return head;
new_head = list_reverse(head->next);
head->next->next=head;
head->next=NULL; //防止链表成为一个环,这是最关键的。
return new_head;
}
0 0
- 递归实现链表逆序(不需三个临时指针变量)
- 用一个临时变量实现单链表逆序
- 实现变量交换(不使用临时变量)
- 指针实现链表逆序
- 不借助临时变量实现变量交换
- 【数据结构】递归实现链表逆序
- 递归法实现链表逆序
- 面试题:用一个临时变量实现单链表逆序
- 不使用临时变量,实现整数互换
- C++ 递归和非递归实现链表逆序
- 字符串逆序(递归实现)
- 字符串逆序(递归非递归实现)
- java 实现两个变量的互换(不借助第三个变量,即中间变量、临时变量)
- 链表逆序的循环实现和递归实现
- 字符串逆转(不使用临时变量)
- 链表逆序输出(递归妙)
- 链表逆序输出(递归妙)
- 链表逆序输出(递归妙)
- 在ubuntu上搭建go编程环境(附带自动化部署脚本)
- SQL Server Synonym 使用
- Linux软件管理
- OSPF系列:distribute-list分发列表
- 判断字符串数组里面为空
- 递归实现链表逆序(不需三个临时指针变量)
- js中的json对象
- 黑马程序员_网络编程(2)
- Ford Fulkerson 算法
- Java(编程语言)--未完成
- 如何使用for循环
- 异常处理
- JS
- 我是一只IT小小鸟。。。。