利用层次遍历原理构建二叉树

Posted David Xu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用层次遍历原理构建二叉树相关的知识,希望对你有一定的参考价值。

层次遍历构建二叉树:

1.定义二叉树节点:

1 function TreeNode(val){
2     this.val = val;
3     this.left = this.right = null;
4 }

2.层次遍历构建二叉树:

 1 function createTree(arr){
 2     if(!arr||!arr.length)return null;
 3     var root = new TreeNode(arr.shift());
 4     var list = [root];
 5     while(arr.length){
 6         var tmpList = [];
 7         for(var i=0;i<list.length;i++){
 8             var p = list[i];
 9             p.left = new TreeNode(arr.shift());
10             p.right = new TreeNode(arr.shift());
11             if(p.left){
12                tmpList.push(p.left);
13             }
14             if(p.right){
15                tmpList.push(p.right);
16             }
17         }
18         list = tmpList;
19     }
20     return root;
21 }

3.测试

//var arr = [1,2,2,3,4,4,3];
var arr = [1,2,2,null,3,null,3];
var root = createTree(arr);
console.log(root);

 

以上是关于利用层次遍历原理构建二叉树的主要内容,如果未能解决你的问题,请参考以下文章

二叉树构建与遍历-LeetCode 103108109(二叉树的构建,层次遍历)

基于二叉树的层次遍历算法分析

C Language 二叉树 - 二叉树的遍历(十五)

二叉树利用队列实现层次遍历

数据结构——链队列实现二叉树的层次遍历

二叉树的层次遍历