问题 B: 求二叉树的深度及遍历结果

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:18 解决:18

题目描述

从键盘读入一棵二叉树,请问这棵二叉树的深度是多少?这棵二叉树后序遍历的结果是什么?

输入

第 1 行输入一个整数 n ,代表读入的数据数量。(n≤100)
第 2 行读入 n 个非负整数,代表读入的数据,读入的整数中,如果值大于 0 ,代表的是二叉树的结点,如果值等于0 ,代表当前结点为空。(根结点的深度为 1 )
二叉树的构造按照层次顺序(即第 1 层 1 个整数,第 2 层 2个,第 3 层 4 个,第 4 层有 8 个......,如果某个结点不存在以 0 代替)。
样例数据确保读入的第 n个整数 n>0

输出

输出有 2 行;
第 1 行输出该二叉树的深度;
第 2 行输出后序遍历二叉树得到的序列,数字之间用空格隔开;

样例输入 复制

5
1 2 0 3 4

样例输出 复制

3
3 4 2 1

提示

样例对应二叉树如下图所示:(完全二叉树)