码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-05-13 12:07:31      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:var   ||   利用   nbsp   div   tree   str   fun   col   

层次遍历构建二叉树:

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);

 

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

标签:var   ||   利用   nbsp   div   tree   str   fun   col   

原文地址:https://www.cnblogs.com/davidxu/p/9031055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!