问题 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;
}
}