leetCode108----有序数组转换为平衡二叉树

var Array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
        var Tree = createTree(Array);
        console.log(Tree);
        // 构造一个节点
        function Node(nodeData, leftData, rightData) {
            this.nodeData = nodeData;
            this.leftData = leftData;
            this.rightData = rightData;
        }
        // 每次取中点作为根节点,向左和向右递归
        function createTree(array) {
            debugger;
            if (array.length <= 0) {
                return null;
            } else {
                var mid = parseInt(array.length / 2);
                var node = new Node(array[mid], null, null);
                var leftArray = array.slice(0 , mid);
                var rightArray = array.slice(mid + 1 , array.length );
                node.leftData = createTree(leftArray);
                node.rightData = createTree(rightArray);
                return node;
            }
        }

这个只是简单的看懂,还剩点递归还没有了解清楚。。。。

posted @ 2018-12-17 17:24  donglt  阅读(352)  评论(0编辑  收藏  举报