Java实现 数组转化为完全二叉树并进行前序、中序和后序遍历
数组转化成完全二叉树
/**由数组构建完全二叉树
*一棵由数组构建的完全二叉树,下标为n的节点左右子树分别是2n+1和2n+2
*/
public static TreeNode createBinaryTree(int[] nums,int index){
int len=nums.length;
TreeNode root=null;
while(index<len){
int val=nums[index];
root=new TreeNode(val);
root.left=createBinaryTree(nums,2*index+1);
root.right=createBinaryTree(nums,2*index+2);
return root;
}
return root;
}
前序遍历
/**
* 前序遍历 读取顺序为根-左-右
* 递归版
*/
public static void preorderTraverse(TreeNode root) {
//节点不为空时继续递归
if(root!=null){
System.out.print(root.val+" ");
preorderTraverse(root