美文网首页Leetcode题解-PHP版
Leetcode PHP题解--D95 108. Convert

Leetcode PHP题解--D95 108. Convert

作者: skys215 | 来源:发表于2019-06-29 07:39 被阅读0次

    D95 108. Convert Sorted Array to Binary Search Tree

    题目链接

    108. Convert Sorted Array to Binary Search Tree

    题目分析

    给定一个顺序数组,将其装换成平衡二叉树。

    思路

    首先讲数组分成两半,左边的元素为左子树的内容,右边为右子树内容。

    中间的元素作为当前节点的值。

    若左边的元素个数大于0,则递归该进程。

    右边同理。

    返回当前节点即可。

    最终代码

    <?php
    /**
     * Definition for a binary tree node.
     * class TreeNode {
     *     public $val = null;
     *     public $left = null;
     *     public $right = null;
     *     function __construct($value) { $this->val = $value; }
     * }
     */
    class Solution {
        /**
         * @param Integer[] $nums
         * @return TreeNode
         */
        function sortedArrayToBST($nums) {
            $len = count($nums);
            $mid = floor($len/2);
            $leftPart = array_slice($nums, 0, $mid);
            $root = new TreeNode($nums[$mid]);
            $rightPart = array_slice($nums, $mid+1);
            
            if(count($leftPart)){
                $root->left  = $this->sortedArrayToBST($leftPart);
            }
            if(count($rightPart)){
                $root->right  = $this->sortedArrayToBST($rightPart);
            }
            return $root;
        }
    }
    

    若觉得本文章对你有用,欢迎用爱发电资助。

    相关文章

      网友评论

        本文标题:Leetcode PHP题解--D95 108. Convert

        本文链接:https://www.haomeiwen.com/subject/jljucctx.html