1101: 反转链表
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:100
Solved:50
Description
给定一个单链表,链表的每个节点包含一个整数值。请设计一个算法,首先将链表反转,然后交换链表中奇偶位置的节点的值,并输出修改后的链表。
Input
链表中节点的位置从1开始计数,第1个节点为奇数位置,第2个节点为偶数位置,以此类推。
输入包含两行: 1. 第一行包含一个整数 $n$,表示链表中节点的数量。 2. 第二行包含 $n$ 个整数,依次为链表中每个节点的值$a_i$,各节点值之间用空格隔开。
Output
输出一行,包含修改后的链表的值,各节点值之间用空格隔开。
Sample Input Copy
5
1 2 3 4 5
Sample Output Copy
4 5 2 3 1
HINT
给定链表为 $1 -> 2 -> 3 -> 4 -> 5$。
反转链表得到 $5 -> 4 -> 3 -> 2 -> 1$。
交换奇偶位置的节点值得到$4 -> 5 -> 2 -> 3 -> 1$。
这样,经过题目要求的操作,输出了修改后的链表。