从尾到头打印链表
- 题目描述:
-
输入一个链表,从尾到头打印链表每个节点的值。
- 输入:
-
每个输入文件仅包含一组测试样例。
每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。
- 输出:
-
对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。
- 样例输入:
-
1 2 3 4 5 -1
- 样例输出:
-
5 4 3 2 1
1 #include<stdio.h> 2 #include<stdlib.h> 3 typedef struct List 4 { 5 int value; 6 struct List *next; 7 }List; 8 void createList(List *L) 9 { 10 int value; 11 List *head,*p; 12 head = L; 13 scanf("%d",&value); 14 while (value != -1) 15 { 16 p =(List *) malloc(sizeof(List)); 17 p->value = value; 18 p->next = head->next; 19 head->next = p; 20 scanf("%d",&value); 21 } 22 } 23 void main() 24 { 25 List *head=NULL,*p=NULL,*temp=NULL; 26 p=head =(List*) malloc(sizeof(List)); 27 head->next = NULL; 28 createList(head); 29 p=head->next; 30 free(head); 31 while(p!=NULL) 32 { 33 printf("%d\n",p->value); 34 p = p->next; 35 } 36 } 37 38 /************************************************************** 39 Problem: 1511 40 User: xuebintian 41 Language: C 42 Result: Accepted 43 Time:90 ms 44 Memory:3948 kb 45 ****************************************************************/