面试题 04.02. 最小高度树

导读:本篇文章讲解 面试题 04.02. 最小高度树,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

面试题 04.02. 最小高度树icon-default.png?t=M4ADhttps://leetcode.cn/problems/minimum-height-tree-lcci/

难度简单125

给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。

示例:

给定有序数组: [-10,-3,0,5,9],

一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:

          0 
         / \ 
       -3   9 
       /   / 
     -10  5 

通过次数41,832提交次数53,048

请问您在哪类招聘中遇到此题?

社招

校招

实习

未遇到

《程序员面试金典(第 6 版)》独家授权

 

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {

        // 递归构建平衡二叉树
        if(nums.length==0) return null;
        return dfs(nums,0,nums.length);
    }

    TreeNode dfs(int[] nums,int left,int right)
    {
        if(left>=right) return null;

        int mid = (right-left)/2+left;
        TreeNode node = new TreeNode();
        node.val = nums[mid];
        node.left = dfs(nums,left,mid);
        node.right = dfs(nums,mid+1,right);
        return node;
    }
}

面试题 04.02. 最小高度树

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/69072.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!