/**
* Definition for a binary tree node.
* public class TreeNode {
* public int val;
* public TreeNode left;
* public TreeNode right;
* public TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public TreeNode SortedArrayToBST(int[] nums)
{
if(nums == null || nums.Length == 0){
return null;
}
var node = new TreeNode(nums[nums.Length/2]);
BuildTree(nums, 0, nums.Length - 1, ref node);
return node;
}
private void BuildTree(int[] nums,int start, int end, ref TreeNode current)
{
if(start > end){
return ;
}
var m = (start + end) / 2;
current = new TreeNode(nums[m]);
if(start == end){
return;
}
BuildTree(nums, start, m - 1, ref current.left);
BuildTree(nums, m + 1, end, ref current.right);
}
}版权声明:本文为博主原创文章,未经博主允许不得转载。
LeetCode -- Convert Sorted Array to Binary Search Tree
原文:http://blog.csdn.net/lan_liang/article/details/49188195