博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LintCode 简单】177. 把排序数组转换为高度最小的二叉搜索树
阅读量:4087 次
发布时间:2019-05-25

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

1.问题描述:

 

给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。

 注意事项

There may exist multiple valid solutions, return any of them.

2.样例:

给出数组 [1,2,3,4,5,6,7], 返回

4   /   \  2     6 / \    / \1   3  5   7

3. 代码:

根据二叉搜索树的定义,本题首先需要找到一个排序数组的中间值mid作为二叉树的根结点

然后使用递归的方法,分别在左右子树上找到新的中间值

""" Definition of TreeNode: class TreeNode:     def __init__(self, val):        self.val = val self.left,                self.right = None, None """ class Solution: """ @param: A: an integer array @return: A tree node """     def sortedArrayToBST(self, A):        # write your code here         length=len(A)         if length==0:             return None         else:             mid=(length-1)/2             root=TreeNode(A[mid])             B=A[:mid]             C=A[mid+1:]             root.left=self.sortedArrayToBST(B)             root.right=self.sortedArrayToBST(C)         return root

 

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

你可能感兴趣的文章
Flutter 组件通信(父子、兄弟)
查看>>
Flutter Animation动画
查看>>
Flutter 全局监听路由堆栈变化
查看>>
Android 混合Flutter之产物集成方式
查看>>
Flutter混合开发二-FlutterBoost使用介绍
查看>>
Flutter 混合开发框架模式探索
查看>>
Flutter 核心原理与混合开发模式
查看>>
Flutter Boost的router管理
查看>>
Android Flutter混合编译
查看>>
微信小程序 Audio API
查看>>
[React Native]react-native-scrollable-tab-view(进阶篇)
查看>>
Vue全家桶+Mint-Ui打造高仿QQMusic,搭配详细说明
查看>>
React Native for Android 发布独立的安装包
查看>>
React Native应用部署/热更新-CodePush最新集成总结(新)
查看>>
react-native-wechat
查看>>
基于云信的react-native聊天系统
查看>>
网易云音乐移动客户端Vue.js
查看>>
ES7 await/async
查看>>
ES7的Async/Await
查看>>
React Native WebView组件实现的BarCode(条形码)、(QRCode)二维码
查看>>