108. Convert Sorted Array to Binary Search Tree

来源:互联网 发布:ios足球游戏源码 编辑:程序博客网 时间:2024/06/05 14:59


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;        return buildTree(nums,0,nums.length-1);    }    //建树函数    public TreeNode buildTree(int[] nums,int left,int right)    {        if(left>right)            return null;        int mid=(left+right)/2;        TreeNode t=new TreeNode(nums[mid]);//new新节点        t.left=buildTree(nums,left,mid-1);//递归调用函数确定节点左子树        t.right=buildTree(nums,mid+1,right);//递归调用函数确定节点右子树        return t;    }}

0 0
原创粉丝点击