#include<bits/stdc++.h>
using namespace std;
vector<int> parents[1000002];
void postOrder(int parent)
{
for(int i=0; i<parents[parent].size() ;i++){
postOrder(parents[parent][i]);
}
cout<< parent <<" ";
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++){
int parentTmp;
cin>>parentTmp;
if(parentTmp!=-1)
parents[parentTmp].push_back(i);
}
postOrder(0);
return 0;
}
相关文章
- 09-252021/9/27 顺序存储二叉树 + 线索化二叉树的生成与遍历
- 09-25图——图的Prim法最小生成树实现
- 09-25对存储在带头结点的双向链表中的记录利用双向冒泡排序法对其按升序排序
- 09-25树的存储结构
- 09-25二叉树的性质和存储结构
- 09-25树的存储结构以及遍历
- 09-251004 Counting Leaves 对于树的存储方式的回顾
- 09-25[转帖]influxdb和boltDB简介——MVCC+B+树,Go写成,Bolt类似于LMDB,这个被认为是在现代kye/value存储中最好的,influxdb后端存储有LevelDB换成了Bol
- 09-25设一棵完全二叉树中有500个结点,则该二叉树的深度为多少?若用二叉链表作为该完全二叉树的存储结构,则共
- 09-25Codeforces 484E Sign on Fence(是持久的段树+二分法)