Cattle customer network _ after traversing Binary Tree

After traversing Binary Tree

Thinking 1:
First according to the preamble, in order to obtain a binary tree, then after traversing Binary Tree output.

class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
class Solution:
    # 返回构造的TreeNode根节点
    def reConstructBinaryTree(self, pre, tin):
        # write code here
        if len(pre)==0:
            return None
        root=TreeNode(pre[0])
        TinIndex=tin.index(pre[0])
        root.left=self.reConstructBinaryTree(pre[1:TinIndex+1], tin[0:TinIndex])
        root.right=self.reConstructBinaryTree(pre[TinIndex+1:], tin[TinIndex+1:])
        return root
    def postorderTraversal(self, root):
        if not root:
            return [] 
        left = self.postorderTraversal(root.left)
        right = self.postorderTraversal(root.right) 
        return left + right + [root.val]
            
pre, tin = input().split(" ")
# print(pre)
# print(tin)
S=Solution()
root=S.reConstructBinaryTree(pre,tin)
result = S.postorderTraversal(root)
print("".join(result))

Reference may be related ideas: known preorder traversal of a binary tree traversal order and how to get it postorder traversal

Published 31 original articles · won praise 0 · Views 731

Guess you like

Origin blog.csdn.net/freedomUSTB/article/details/105024335