zoukankan      html  css  js  c++  java
  • [LeetCode]: 108: Convert Sorted Array to Binary Search Tree

    题目:

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

    分析:

    平衡二叉树的特点:左右子树的高度差不能超过1

    采用二分查找思想和递归思想

    代码:

        public static TreeNode sortedArrayToBST(int[] nums) {
            if(nums.length== 0){
                return null;
            }
            
            if(nums.length == 1){
                TreeNode rootNode = new TreeNode(nums[0]);
                return rootNode;
            }
            
            
            int intPosition =0;
            intPosition = nums.length/2;
            TreeNode rootNode = new TreeNode(nums[intPosition]);
            
            rootNode.left = sortedArrayToBST(Arrays.copyOfRange(nums, 0, intPosition));
            rootNode.right = sortedArrayToBST(Arrays.copyOfRange(nums, intPosition, nums.length));
    
            return rootNode;
        }

    PS:这个题目简单就是因为输入的数组是排好序的

  • 相关阅读:
    P1939 矩阵加速(数列)
    P3390 矩阵快速幂
    快速幂
    1236:区间合并
    1183:病人排队
    1230:寻找平面上的极大点
    1244:和为给定数
    1228 书架
    1222 放苹果
    洛谷5015标题统计
  • 原文地址:https://www.cnblogs.com/savageclc26/p/4862918.html
Copyright © 2011-2022 走看看