博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode -- Convert Sorted Array to Binary Search Tree
阅读量:5898 次
发布时间:2019-06-19

本文共 971 字,大约阅读时间需要 3 分钟。

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

[解题思路]

递归确定每棵树的根节点的值,这里根节点的值是二分搜索的中值

由于这里是有序数组,确定root的时间复杂度为O(1), 整个算法的时间复杂度为O(n),n为节点数目。

1 /** 2  * Definition for binary tree 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; } 8  * } 9  */10 public class Solution {11     public TreeNode sortedArrayToBST(int[] num) {12         // Start typing your Java solution below13         // DO NOT write main() function14         return generate(num, 0, num.length - 1);    15     }16     17     public TreeNode generate(int[] num, int start, int end){18         if(start > end){19             return null;20         }21         int mid = (end + start) / 2;22         TreeNode root = new TreeNode(num[mid]);23         root.left = generate(num, start, mid - 1);24         root.right = generate(num, mid + 1, end);25         return root;26     }27 }

 

转载地址:http://obhsx.baihongyu.com/

你可能感兴趣的文章
poj 1408 Fishnet(计算几何)
查看>>
南阳OJ开等问题
查看>>
MS 笔试 FT面试
查看>>
编程日报(第一版)——输入输出优化
查看>>
AT91SAM7SE应用 -- UART
查看>>
xcode禁用ARC(Automatic Reference Counting)
查看>>
[POI2008]枪战Maf
查看>>
solidity fallback函数
查看>>
Hikari java数据库连接池实战
查看>>
webpack 配置的探索
查看>>
elementUI 之 自定义 iconfont
查看>>
Mac OS X 同 Windows 的概念,词汇,热键对比随录,让你更好地过度到Mac OS X
查看>>
cc.RepeatForever和cc.Spawn冲突
查看>>
sougou输入法小技巧
查看>>
Linux输入子系统:多点触控协议 -- multi-touch-protocol.txt768
查看>>
有用的函数-系统采集(二)
查看>>
分布式全局ID生成器设计
查看>>
如何修改非root用户的ulimit -n的值
查看>>
iis500错误分析
查看>>
决策树
查看>>