输入二叉树的前序遍历和中序遍历,求后序遍历或者重构二叉树
例如:前序:1,2,4,7,3,5,6,8
中序:4,7,2,1,5,3,6,8
后序:7,4,2,5,8,6,3,1
方法1:如果需要重构再输出后序
步骤如下:
1.根据前序确定根节点就是第一个;
2.根据根节点在中序的位置确定左右子树
3.递归重复上述1 2 步骤
4.二叉树重构完成
5.再递归后序遍历二叉树
如此递归
树结点
package com.banban.CeShi.BinaryTree;
/**
* @author :zhangpengzhan
* @date :Created in 2019/4/2 19:54
* @name :BinaryTreeNode
*/
public class BinaryTreeNode {
private int value;
private BinaryTreeNode leftNode;
private BinaryTreeNode rightNode;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public BinaryTreeNode getLeftNode() {
return leftNode;
}
public void setLeftNode(BinaryTreeNode leftNode) {
this.leftNode = leftNode;
}
public BinaryTreeNode getRightNode() {
return rightNode;