首页 > 试题广场 >

实现二叉树的后续遍历

[编程题]实现二叉树的后续遍历
  • 热度指数:77 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
代码实现二叉树的后续遍历。要求:1、不可以用递归;2、不可以用栈;3、自定义树节点的结构;4、给出测试用例;5、语言不限;
注意:你的方法的输入为根节点
参考方法:定义树结构体如下:
struct TreeNode {
    int value;
    TreeNode* parent;
    TreeNode* leftChild;
    TreeNode* rightChild;
}

输入描述:
第一行一个正整数n(1<=n<=100),表示二叉树有n个结点。
接下来n行,第i行两个整数li,ri (0<=li,ri<=n) ,分别表示第i个结点的左儿子和右儿子,为0代表空。
保证根为1,保证输入为合法二叉树。


输出描述:
输出一行。输出n个数,代表后序遍历的结点的顺序,相邻两个数之间用一个空格相隔。
示例1

输入

5
3 2
0 5
0 4
0 0
0 0

输出

4 3 5 2 1