/** * 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