qq_47847036 2022-04-24 20:04 采纳率: 71.4%
浏览 76
已结题

程序实现了一个单链表的逆序。请完成函数list_reverse()。

程序实现了一个单链表的逆序。请完成函数list_reverse()。

函数接口定义:
Node* list_reverse(Node* head)
head是单链表的头指针,函数返回逆序后的头指针。

裁判测试程序样例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct ListNode {
int num;
struct ListNode *next;
}Node;

Node createlist();/根据用户输入的整数n,创建具有n个结点的单链表。裁判实现,细节不表/
Node
list_reverse(Node* head);
void display(Node *head);/输出链表结点的数据域。裁判实现,细节不表/

int main(void)
{
Node *head,*p;
head = createlist();
head = list_reverse(head);
display(head);
return 0;
}

/* 请在这里填写答案 */
输入样例:
5
1 2 3 4 5
输出样例:
在这里给出相应的输出。例如:

5 4 3 2 1

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-04-24 22:45
    关注

    供参考:

    Node *list_reverse(Node* head)
    {
        Node *p = head,*q = NULL;
        head = NULL;
        while (p){
             q = p;
             p = p->next;
             q->next = head;
             head = q;
        }
        return head;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月24日