3596 Problem E 算法2-24 单链表反转

问题 E: 算法2-24 单链表反转

时间限制: 10 Sec  内存限制: 128 MB
提交: 93  解决: 58
[提交][状态][讨论版][命题人:外部导入]

题目描述

根据一个整数序列构造一个单链表,然后将其反转。

例如:原单链表为 2 3 4 5 ,反转之后为5 4 3 2

输入

输入包括多组测试数据,每组测试数据占一行,第一个为大于等于0的整数n,表示该单链表的长度,后面跟着n个整数,表示链表的每一个元素。整数之间用空格隔开

输出

针对每组测试数据,输出包括两行,分别是反转前和反转后的链表元素,用空格隔开

如果链表为空,则只输出一行,list is empty

样例输入

5 1 2 3 4 5 
0

样例输出

1 2 3 4 5 
5 4 3 2 1 
list is empty
#include<iostream>
using namespace std;
int main() {
	int n;
	while (cin >> n) {
		int a[100000];
		if (n == 0) {
			cout << "list is empty" << endl;
			continue;
		}
		for (int i = 0; i < n; i++) {
			cin >> a[i];
			cout << a[i] << " ";
		}
		cout << endl;
		for (int i = 0; i < n; i++) {
			cout << a[n - i - 1] << " ";
		}
		cout << endl;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_36502291/article/details/84554467