码迷,mamicode.com
首页 > 其他好文 > 详细

Convert Sorted Array to Binary Search Tree

时间:2014-06-20 11:06:46      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:leetcode   数组      java   

题目

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

方法

数组是有序的,要求创建的二叉树尽量平衡,很容易想到对数组进行二分操作,左边的数组元素是左子树,右边的数组元素是右子树。进行递归操作就可以了。
	TreeNode getBST(int[] num, int start , int end) {
		if (start >= end) {
			return null;
		}
		int median = (start + end) / 2;
		int value = num[median];
		
		 TreeNode root = new TreeNode(value);
		 root.left = getBST(num, start, median);
		 root.right = getBST(num, median + 1, end);
		 return root;
	}
	
    public TreeNode sortedArrayToBST(int[] num) {
        if (num == null || num.length == 0) {
        	return null;
        }
        int len = num.length;
        return getBST(num, 0, len);
    }


Convert Sorted Array to Binary Search Tree,布布扣,bubuko.com

Convert Sorted Array to Binary Search Tree

标签:leetcode   数组      java   

原文地址:http://blog.csdn.net/u010378705/article/details/28594123

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!