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

[LeetCode]108 Convert Sorted Array to Binary Search Tree

时间:2015-01-02 16:19:16      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:leetcode

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

http://fisherlei.blogspot.com/2013/03/leetcode-convert-sorted-array-to-binary.html


/**
 * Definition for binary tree
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {

    // O(log n)
    public TreeNode sortedArrayToBST(int[] num) {
        
        // 要求为一个 height balanced BST.
        // 如果没有这个要求,一个list (永远只有右节点)即满足要求
        //
        // 每次取中间点未新的root
        TreeNode root = build(num, 0, num.length - 1);
        return root;
    }
    
    private TreeNode build(int[] num, int low, int high)
    {
        if (low > high)
            return null;
        
        if (low == high)
            return new TreeNode(num[low]);
            
        int mid = (low + high) / 2;
        TreeNode node = new TreeNode(num[mid]);
        node.left = build(num, low, mid - 1);
        node.right = build(num, mid + 1, high);
        return node;
    }
}


[LeetCode]108 Convert Sorted Array to Binary Search Tree

标签:leetcode

原文地址:http://7371901.blog.51cto.com/7361901/1598374

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