#P4047. 两两交换链表中的节点

两两交换链表中的节点

题目描述

给定一个链表,将相邻的节点两两交换,并返回交换后链表的头节点。
注意:不能修改节点的值,只能交换节点。

输入描述

  • 第一行输入一个整数 sz0sz1000 \leq sz \leq 100),表示链表的长度。
  • 第二行输入 sz 个整数(0Node.val1000 \leq Node.val \leq 100),表示链表的元素,按顺序存储。

输出描述

  • 输出一行,表示交换后的链表,用空格分隔节点值。
  • 如果链表为空,则直接输出一个空行。

样例 1

img

输入

4
1 2 3 4

输出

2 1 4 3

样例 2

输入

输出

样例 3

输入

1
1

输出