leetcode108. Convert Sorted Array to Binary Search Tree

来源:互联网 发布:java 反射调用set方法 编辑:程序博客网 时间:2024/06/07 03:38

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.

解法

dfs,二分法对结点添加左右子树。

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