linked-list - 为什么此代码显示超出输出限制?可以解决这个问题并为给定组中的反向链表提供迭代解决方案吗?
问题描述
结构节点*反向(结构节点*头,int k){
int num=k;
struct node * curr=head;
struct node * past=NULL;
struct node * future=NULL;
struct node * temp=head;
while(curr!=NULL && k--)
{
future=curr->next;
curr->next=past;
past=curr;
curr=future;
}
struct node * pre=past;
while(curr!=NULL)
{
k=num-1;
struct node *pra=curr;
temp->next=curr;
curr=curr->next;
past=future;
while(k--&& curr!=NULL)
{
future=curr->next;
curr->next=past;
past=curr;
curr=future;
}
temp->next=past;
temp=pra;
}
temp->next=NULL;
head=pre;
return head;
}
此代码采用单链表头节点的指针和一个整数 k 。函数 reverse() 应该反转大小为 k 的组中的链表并返回修改后的链表的头。但是,此代码显示超出输出限制。
解决方案
推荐阅读
- python - 当列表由字符串形式的数字组成时,为什么要设置的转换列表不尊重升序
- sql - 当您只有开始日期和结束日期时按特定月份查询
- node.js - MongoDB查询处理/获取内部数组(需要在内部数组中应用分页)
- cypress - React-typeScript:赛普拉斯测试
- c# - CPU序列号/主板序列号使用C#
- docker - 备份 Dockerized PostreSQL 数据库
- kotlin - 如何解决该错误?...在 Kotlin 反射中尚未完全支持
- typescript - 键入复杂的递归函数以在其内部使用而不会出现循环引用错误
- google-chrome - 如何使用批处理或 Powershell 将新人添加到 Google Chrome?
- node.js - nodemon:干净退出等待重新启动前的更改