题目1518:反转链表

时间限制:1 秒

内存限制:128 兆

特殊判题:

提交:2567

解决:948

题目描述:

输入一个链表,反转链表后,输出链表的所有元素。
(hint : 请务必使用链表)

输入:

输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。
输入的第二行包含n个整数t(0<=t<=1000000):代表链表元素。

输出:

对应每个测试案例,
以此输出链表反转后的元素,如没有元素则输出NULL。

样例输入:
5
1 2 3 4 5
0
样例输出:
5 4 3 2 1
NULL
 #include <cstdio>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <iostream>
using namespace std;
struct node{
node *fro,*next;
int v;
};
int main(){
//freopen("D:\\INPUT.txt","r",stdin);
node *head,*tail;
int n;
while(scanf("%d",&n)!=EOF){
if(!n){
cout<<"NULL"<<endl;
}
else{
head=new node();
tail=head;
head->fro=head->next=NULL;
scanf("%d",&head->v);
int i;
node *p;
for(i=;i<n;i++){//输入
p=new node();
p->fro=tail;
tail->next=p;
scanf("%d",&p->v);
p->next=NULL;
tail=p;
}
cout<<tail->v;
p=tail->fro;
delete tail;
p->next=NULL;
tail=p;
while(tail!=head){//转置链表
cout<<" "<<tail->v;
p=tail->fro;
delete tail;
tail=p;
}
cout<<" "<<tail->v<<endl;
delete head;
}
}
return ;
}

最新文章

  1. ssl双向认证和单向认证原理
  2. IO流(四)__流的操作规律总结
  3. CSS3的REM设置字体大小
  4. warning MSB3391
  5. [PHP] Eclipse开发PHP环境配置
  6. Python标准库--os模块
  7. 搭建本地Ubuntu 镜像服务器
  8. ORM增删改查询例题
  9. Python中enumerate()的使用方法
  10. 各硬件设备在Linux中的文件名
  11. 【Hadoop】HDFS的java客户端编写
  12. Oracle存储过程经典入门
  13. 2017年当下最值得你关注的前端开发框架,不知道你就OUT了!
  14. 拥抱.NET Core系列:MemoryCache 缓存过期
  15. AndroidDevTools
  16. #if和#ifdef的区别
  17. Django rest framework源码分析(2)----权限
  18. zookeeper安装以及遇到的一些坑
  19. 使用lombok 注解Java类
  20. 关于Python pandas模块输出每行中间省略号问题

热门文章

  1. 利用find同时查找多种类型文件
  2. 第五篇 Python内置函数
  3. 光猫烽火Hg220破解超级口令实用图文教程(亲测)
  4. 入参为json类型的接口测试示例
  5. MyBatis配置文件的配置说明
  6. Zookeeper客户端对比选择_4
  7. Codeforces Round #162 (Div. 2) A~D 题解
  8. 苹果内购和 Apple Pay
  9. vue脚手架的安装和使用
  10. Qt 学习之路 2(34):贪吃蛇游戏(4)