108.将有序数组转换为平衡二叉树

思路:递归+二分每个节点作为根节点的时候,左子树形成的数组一定比它小,右子树形成的数组一定比它大,符合有序数组中点的性质

class Solution(object):
    def sortedArrayToBST(self, nums):
        begin = 0
        end = len(nums)-1
        if begin>end:
            return None
        mid = (begin+end)//2
        root = TreeNode(nums[mid])
        root.left = Solution().sortedArrayToBST(nums[begin:mid])
        root.right = Solution().sortedArrayToBST(nums[mid+1:end+1])
        return root
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容