给定一棵二叉树,节点编号从 1 到 n,根节点为 1。
我们定义一种 **“奇偶后序遍历”**:
- 从根节点开始,根节点的深度记为 **1**。
- 对于深度为 **奇数** 的节点,遍历其子树时采用 **“左-右-根”** 的顺序(即先遍历左子树,再遍历右子树,最后访问该节点本身)。
- 对于深度为 **偶数** 的节点,遍历其子树时采用 **“右-左-根”** 的顺序(即先遍历右子树,再遍历左子树,最后访问该节点本身)。
请你按照上述规则,输出整棵树的遍历序列(即节点的访问顺序)。
第一行一个整数 n,表示二叉树的节点数(1 \le n \le 10^5)。
接下来 n 行,第 i 行(1 \le i \le n)包含两个整数 l_i, r_i,分别表示节点 i 的左孩子编号和右孩子编号。
若孩子不存在,则对应编号为 0。
保证给出的结构是一棵合法的二叉树,且根节点为 1。
输出一行,包含 n 个整数,表示按规则遍历得到的节点编号序列,相邻整数之间用一个空格隔开。
3 2 3 0 0 0 0
2 3 1
4 2 3 4 0 0 0 0 0
4 2 3 1
7 2 3 4 5 6 7 0 0 0 0 0 0 0 0
5 4 2 7 6 3 1
70%的数据: 1 \le n \le 100。
100%的数据::1 \le n \le 10^5。