#Z0606501. 逆序输出链表-头插法

逆序输出链表-头插法

题目描述

创建一个长度为n的链表,并将其逆序输出。

输入格式

第一行输入一个数字n

第二行输入n个数字

输出格式

一行输出n个数字

5
1 2 3 4 5
5 4 3 2 1

数据范围

1n1031 \le n \le 10^3

头插法:

在插入时,新的结点插入到当前链表的表头。

以带头结点方式实现头插法

node *HeadInsert(int n){
	node *s;//创建空指针 
	int x=1;
	node *L= new node;     	//创建头结点
   	L->next=NULL;           //初始为空链表
	int v;
   	while(x <= n){
  		s= new node;   	    //创建新结点
  		cin >> v;
  		s->data = v;
 		s->next = L->next;	//核心代码
		L->next = s;			//核心代码
		x++;
 	}
 	return L;
}

不带头结点方式实现头插法

node *HeadInsert(int n){
	node *s;//创建空指针
	int v; 
	int x=1;
	node *L= new node;     	//创建头结点
	cin >> v;
	L->data=v; 
   	L->next=NULL;           //初始为空链表
   	x++;
   	while(x <= n){
  		s= new node;   	    //创建新结点
  		cin >> v;
  		s->data = v;
 		s->next = L;	//核心代码
		L = s;			//核心代码
		x++;
 	}
 	return L;
}