您的位置:首页 > 其它

九度OJ 1511 从尾到头打印链表

2014-02-16 13:14 309 查看
题目地址:http://ac.jobdu.com/problem.php?pid=1511

题目描述:
输入一个链表,从尾到头打印链表每个节点的值。

输入:
每个输入文件仅包含一组测试样例。

每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。

输出:
对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。

样例输入:
1
2
3
4
5
-1


样例输出:
5
4
3
2
1


#include <stdio.h>
#include <stdlib.h>

typedef struct node{
int data;
struct node * next;
} Node;

void Print_TailtoHead (Node * head){
Node * p = head;

if (p != NULL){
Print_TailtoHead (p->next);
printf ("%d\n", p->data);
}
}

int main(void){
int input;
Node * head = NULL;
Node * p = NULL;
Node * q = NULL;

head = (Node *)malloc(sizeof(Node));
head->next = NULL;
p = head;
while (scanf ("%d", &input) != EOF && input != -1){
q = (Node *)malloc(sizeof(Node));
q->data = input;
q->next = NULL;
p->next = q;
p = p->next;
}
Print_TailtoHead (head->next);

return 0;
}


参考资料:何海涛 -- 程序员面试题精选100题(31)-从尾到头输出链表[数据结构]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: