您的位置:首页 > 编程语言 > Python开发

[LeetCode]题解(python):108-Convert Sorted Array to Binary Search Tree

2016-03-09 15:17 711 查看
[b]题目来源:[/b]

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

[b]题意分析:[/b]

  给出一个排好序的数组,根据这个数据形成一个高度平衡的搜索二叉树。

[b]题目思路:[/b]

  将中位数为根节点,中位数左边为左子树,右边为右子树。

[b]代码(python):[/b]

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
def sortedArrayToBST(self, nums):
"""
:type nums: List[int]
:rtype: TreeNode
"""
size = len(nums)
if size == 0:
return None
if size == 1:
return TreeNode(nums[0])
size //= 2
root = TreeNode(nums[size])
root.left = self.sortedArrayToBST(nums[:size])
root.right = self.sortedArrayToBST(nums[size + 1:])
return root


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: