leetcode_108 Convert Sorted Array to Binary Search Tree(Tree)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode_108 Convert Sorted Array to Binary Search Tree(Tree)相关的知识,希望对你有一定的参考价值。

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

递归进行。每次找到排序数组的中点,中点左边的子排序数组构成左子树,中点右边的子排序数组构成右子树。

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        if(nums.length==0){
            return null;
        }
        TreeNode head=construct(nums,0,nums.length-1);
        return head;
    }
    
    public TreeNode construct(int[] nums,int low,int high){
        if(low>high){  //边界条件
            return null;
        }
        int mid=low+(high-low)/2;
        TreeNode node=new TreeNode(nums[mid]);
        node.left=construct(nums,low,mid-1);
        node.right=construct(nums,mid+1,high);
        return node;
    }
}

 

以上是关于leetcode_108 Convert Sorted Array to Binary Search Tree(Tree)的主要内容,如果未能解决你的问题,请参考以下文章

19.leetcode108_convert_sorted_array_to_binary_search_tree

LeetCode108_Convert SortedArray to BinarySearchTree(将有序数组转成二叉排序树) Java题解

LeetCode OJ 108. Convert Sorted Array to Binary Search Tree DFS求解

leetcode 108 Convert Sorted Array to Binary Search Tree

LeetCode 108. Convert Sorted Array to Binary Search Tree

Leetcode 108. Convert Sorted Array to Binary Search Tree