您的位置:首页 > 其它

LeetCode——Convert Sorted Array to Binary Search Tree

2014-08-09 16:24 507 查看
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

原题链接:https://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/

题目:给定一个升序排列元素的数组,将其转换成高度平衡的二叉树。

思路:已经排序,则从中间劈开,中间元素为树的根,左右递归构建。

public TreeNode sortedArrayToBST(int[] num) {
return sortedArrayToBST(num,0,num.length - 1);
}
public TreeNode sortedArrayToBST(int[] num,int start,int end) {
if(start > end)
return null;
int mid = (start + end)/2;
TreeNode node = new TreeNode(num[mid]);
node.left = sortedArrayToBST(num,start,mid-1);
node.right = sortedArrayToBST(num,mid+1,end);
return node;
}
// Definition for binary tree
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode