LeetCode-108-Convert Sorted Array to Binary Search Tree(转化已排序数组到二叉排序树)

来源:互联网 发布:lol物品数据库 编辑:程序博客网 时间:2024/05/16 08:48

Q:

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

Analysis:

题目要求将已升序的数组转化为二叉排序树;可以使用递归,二分的方法,进行生成二叉排序树。

Code:

/** * 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 == null) {            return null;        }        int start = 0;        int end = nums.length - 1;        return sortedArrayToBST(nums, start, end);    }    public static TreeNode sortedArrayToBST(int[] nums, int start, int end) {        TreeNode root = null;        if (start > end) {            return null;        }        int mid = (start + end) / 2;        root = new TreeNode(nums[mid]);        root.left = sortedArrayToBST(nums, start, mid - 1);        root.right = sortedArrayToBST(nums, mid + 1, end);        return root;    }}
阅读全文
0 0
原创粉丝点击