九度_题目1511:从尾到头打印链表

//前插法建表,然后从头到尾输出,不是算不算符合题意

时间限制:1 秒内存限制:128 兆特殊判题:否提交:3794解决:1190
题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
输入:
每个输入文件仅包含一组测试样例。
每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。
输出:
对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。
样例输入:
1
2
3
4
5
-1
样例输出:
5
4
3
2
1

#include<iostream>
#include<stdlib.h>
#include<cstdio>
using namespace std;
typedef struct LNode{
	int data;
	struct LNode *next;
}*Linklist;
Linklist CreateList(Linklist list)
{
	Linklist p=NULL,q=NULL;
	p=(Linklist)malloc(sizeof(Linklist *));
	list=p;
	list->next=NULL;
	int num;
	while(scanf("%d",&num)&&num!=-1)
	{
		q=(Linklist)malloc(sizeof(Linklist *));
		q->data=num;
		q->next=p->next;
		p->next=q;
	}
	return list;
}
void PrintNode(Linklist list){
	Linklist p=list->next;
	while(p)
	{
		printf("%d\n",p->data);
		p=p->next;
	}
}
int main()
{

	Linklist list=NULL;
	list=CreateList(list);
	PrintNode(list);
	return 0;
}

你可能感兴趣的:(链表)