二叉树的构建是学习二叉树的基础,也是笔试常考的题目,下面由我让向大家介绍一下。
二叉树的构建常见有一下几种:(1) 根据二叉树的层次顺序存储结构构建二叉树(2)根据先序遍历,后序遍历构建二叉树(3)根据中序和后序构建二叉树,下面我一一来介绍。
首先,我们先定义一下二叉树的基本数据结构:
class TreeNode {
TreeNode left = null;
TreeNode right = null;
int val = 0;
public TreeNode(int val) {
this.val = val;
}
}
(1)根据二叉树的层次顺序存储结构构建二叉树
public TreeNode createTree(int[] a){
if(a == null){
return null;
}
//创建结点
TreeNode[] nodes = new TreeNode[a.length];
for (int i = 0; i < a.length; i++) {
nodes[i] = new TreeNode(a[i]);
}
TreeNode root = nodes[0];
//建立子