二叉树面试题:前中序求后序、中后序求前序
已知二叉树的前序遍历顺序为ABCDEGHF,中序遍历顺序为DBAGEHCF,求该二叉树的后序遍历。
已知二叉树的中序遍历顺序为DBAGEHCF,后序遍历顺序为DBGHEFCA,求该二叉树的前序遍历。
什么是二叉树?
在开始之前,容我再唠叨几句:什么是二叉树?二叉树(Binary Tree)是一种特殊的树,树上的每个结点最多有两个子树的树结构,也就是说每一个父结点最多长出两个树杈。通常两个子结点被称为左子结点和右子结点。比如:
/**
* 二叉树结点
*/
public
class TreeNode {
public
char value;
/**
* 左子树
*/
public TreeNode left;
/**
* 右子树
*/
public TreeNode right;
}
三种遍历方式
先序遍历
public void preOrder(TreeNode biTree) {
System.out.println(biTree.value);
if(biTree.left !=
null) {
preOrder(biTree.left);
}
if(biTree.right !=
null) {
preOrder(biTree.right);
}
}
中序遍历
public void preOrder(TreeNode biTree) {
if(biTree.left !=
null) {
preOrder(biTree.left);
}
System.out.println(biTree.value);
if(biTree.right !=
null) {
preOrder(biTree.right);
}
}
后序遍历
public void preOrder(TreeNode biTree) {
if(biTree.left !=
null) {
preOrder(biTree.left);
}
System.out.println(biTree.value);
if(biTree.right !=
null) {
preOrder(biTree.right);
}
}
已知前中序遍历顺序,求后序遍历顺序
已知二叉树的前序遍历顺序为ABCDEGHF,中序遍历顺序为DBAGEHCF,求该二叉树的后序遍历。
重构二叉树
写出后序遍历顺序
已知中后序遍历顺序,求前序遍历顺序
已知二叉树的中序遍历顺序为DBAGEHCF,后序遍历顺序为DBGHEFCA,求该二叉树的前序遍历。
重构二叉树
写出后序遍历顺序
祝大家在2020年工作顺路,家庭幸福,合家团圆
