请实现以下函数,依据一棵二叉树的先序和中序遍历结果,计算其后序遍历结果。
bool CalcPostorder(const int* preorder, const int* inorder, int* postorder, int length);
参数说明如下:
preorder: 先序遍历节点编号数组,输入参数
inorder: 中序遍历节点编号数组,输入参数
postorder: 后序遍历节点编号数组,输出参数
length: 二叉树节点数量,输入参数
三个数组内存均已分配完毕,大小均等同于节点数量,用于按遍历次序存放节点编号(int型)
返回值: 问题是否可解,如果先序和中序遍历结果自相矛盾,无法生成后序遍历结果,请返回false,否则请返回true。