标签:style blog class code java c
原题地址:http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
题意:将一个排序好的数组转换为一颗二叉查找树,这颗二叉查找树要求是平衡的。
解题思路:由于要求二叉查找树是平衡的。所以我们可以选在数组的中间那个数当树根root,然后这个数左边的数组为左子树,右边的数组为右子树,分别递归产生左右子树就可以了。
代码:
# Definition for a binary tree node # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: # @param num, a list of integers # @return a tree node def sortedArrayToBST(self, num): length = len(num) if length == 0: return None if length == 1: return TreeNode(num[0]) root = TreeNode(num[length / 2]) root.left = self.sortedArrayToBST(num[:length/2]) root.right = self.sortedArrayToBST(num[length/2 + 1:]) return root
[leetcode]Convert Sorted Array to Binary Search Tree @ Python,布布扣,bubuko.com
[leetcode]Convert Sorted Array to Binary Search Tree @ Python
标签:style blog class code java c
原文地址:http://www.cnblogs.com/zuoyuan/p/3722103.html