zoukankan      html  css  js  c++  java
  • [leetcode]Convert Sorted Array to Binary Search Tree @ Python

    原题地址: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
            
  • 相关阅读:
    括号序列
    秘密信息
    大奖赛
    订单
    摆花
    利用spring自己实现观察者模式
    Spring操作mongo排序,限制查询记录数
    Hbse的读写过程
    使用aop记录数据库操作的执行时间
    分享一个关于jackson的Json工具类
  • 原文地址:https://www.cnblogs.com/zuoyuan/p/3722103.html
Copyright © 2011-2022 走看看