美文网首页
LeetCode-108-将有序数组转换为二叉搜索树(pytho

LeetCode-108-将有序数组转换为二叉搜索树(pytho

作者: JunfengsBlog | 来源:发表于2019-08-22 21:55 被阅读0次
    将有序数组转换为二叉搜索树
    1. 二叉搜索树的性质:任一节点(假设有左右两个节点)的值大于其左孩子节点的值,小于其右孩子节点的值。
    2. 二叉搜索树中序遍历得到的数组是一个升序数组。
      思路:由上面一二点分析可得:数组中间值所构成的节点其实就是根节点。根节点左边数组构成其左子树,根节点右边的数组构成其右子树。递归构建每个节点的左右子树。
      心得:递归真神奇。
    class Solution:
        def sortedArrayToBST(self, nums: List[int]) -> TreeNode:
            if len(nums) == 0:
                return 
            mid = len(nums) // 2
            root = TreeNode(nums[mid])
            root.left = self.sortedArrayToBST(nums[:mid])
            root.right = self.sortedArrayToBST(nums[mid+1:])
            
            return root
    

    相关文章

      网友评论

          本文标题:LeetCode-108-将有序数组转换为二叉搜索树(pytho

          本文链接:https://www.haomeiwen.com/subject/choosctx.html