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

108. Convert Sorted Array to Binary Search Tree

时间:2018-03-16 19:39:00      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:ted   uri   des   turn   treenode   problem   val   tar   链接   

原题链接:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/
将一个有序数组转换成一颗平衡树。虽然平衡树的各种操作的实现我看了几天都没写出来,但是这道题只要知道平衡树是什么就可以解答了:

/**
 * Created by clearbug on 2018/2/26.
 */
public class Solution {

    static class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;

        public TreeNode(int val) {
            this.val = val;
        }
    }

    public static void main(String[] args) {
        Solution s = new Solution();
        TreeNode root = s.sortedArrayToBST(new int[]{1, 3, 5, 7, 9, 11, 13});
        System.out.println(root);
    }

    public TreeNode sortedArrayToBST(int[] nums) {
        return sortedArrayToBSTHelper(nums, 0, nums.length - 1);
    }

    private TreeNode sortedArrayToBSTHelper(int[] nums, int start, int end) {
        while (start <= end) {
            int middle = (start + end) / 2;
            TreeNode node = new TreeNode(nums[middle]);
            node.left = sortedArrayToBSTHelper(nums, start, middle - 1);
            node.right = sortedArrayToBSTHelper(nums, middle + 1, end);
            return node;
        }
        return null;
    }

}

108. Convert Sorted Array to Binary Search Tree

标签:ted   uri   des   turn   treenode   problem   val   tar   链接   

原文地址:https://www.cnblogs.com/optor/p/8584003.html

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