标签:cat 节点 follow margin tle str maximum padding res
Given an integer array with no duplicates. A maximum tree building on this array is defined as follow:
Construct the maximum tree by the given array and output the root node of this tree.
Example 1:
Input: [3,2,1,6,0,5] Output: return the tree root node representing the following tree: 6 / 3 5 \ / 2 0 1
Note:
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object):def constructMaximumBinaryTree(self, nums):""":type nums: List[int]:rtype: TreeNode"""if not nums:return Nonedef helper(node, nums):index = nums.index(max(nums))leftArr = nums[:index]rightArr = nums[index + 1:]if leftArr:node.left = TreeNode(max(leftArr))helper(node.left, leftArr)if rightArr:node.right = TreeNode(max(rightArr))helper(node.right, rightArr)root = TreeNode(max(nums))helper(root, nums)return root
654. Maximum Binary Tree 最大二叉树
标签:cat 节点 follow margin tle str maximum padding res
原文地址:http://www.cnblogs.com/xiejunzhao/p/7351991.html