def reConstructBinaryTree(self, pre, tin):

        if len(pre) < 1:
            return None

        root = TreeNode(pre[0])
        index = tin.index(root.val)

        root.left = self.reConstructBinaryTree(pre[1:1 + index], pre[:index])
        root.right = self.reConstructBinaryTree(tin[1 + index:],
                                                tin[index + 1:])
Esempio n. 2
0
        self.left = None
        self.right = None

class Solution(object):
    def maxDepth(self, root):
        """
        :type root: TreeNode
        :rtype: int
        :左右分支的最大深度加1
        """
        if root == None:
            return 0
        else:
            return max(self.maxDepth(root.left),self.maxDepth(root.right))+1

t = TreeNode(1)
node1 = TreeNode(2)
node2 = TreeNode(3)
node3 = TreeNode(4)
node4 = TreeNode(5)
node5 = TreeNode(6)
node6 = TreeNode(7)
t.left = node1
t.right = node2
node1.left = node3
node1.right = node4
node2.left = node5
#node3.left = node6

s = Solution()
print s.maxDepth(t)
Esempio n. 3
0

class Solution(object):
    def maxDepth(self, root):
        """
        :type root: TreeNode
        :rtype: int
        :左右分支的最大深度加1
        """
        if root == None:
            return 0
        else:
            return max(self.maxDepth(root.left), self.maxDepth(root.right)) + 1


t = TreeNode(1)
node1 = TreeNode(2)
node2 = TreeNode(3)
node3 = TreeNode(4)
node4 = TreeNode(5)
node5 = TreeNode(6)
node6 = TreeNode(7)
t.left = node1
t.right = node2
node1.left = node3
node1.right = node4
node2.left = node5
#node3.left = node6

s = Solution()
print s.maxDepth(t)