标签: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 = None
class Solution(object):
def constructMaximumBinaryTree(self, nums):
"""
:type nums: List[int]
:rtype: TreeNode
"""
if not nums:
return None
def 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