代码如下:
class TreeNode: def __init__(self, x): self.left=None self.right=None self.value=x def BuildTree(ceng, zhong): if len(ceng)==0: return None if len(ceng)==1: return TreeNode(ceng[0]) else: flag=TreeNode(ceng[0]) root=ceng[0] zong=zhong[:zhong.index(ceng[0])] cen=[] for i in ceng: if i in zong: cen.append(i) flag.left=BuildTree(cen,zong) cen = [] zong=zhong[zhong.index(ceng[0])+1:] for i in ceng: if i in zong: cen.append(i) flag.right=BuildTree(cen,zong) return flag def PrintLeafNode(root,node): if root==None: return if root.left==None and root.right==None: node.append(root.value) PrintLeafNode(root.left, node) PrintLeafNode(root.right, node) def PreTravel(root,node): if root==None: return node.append(root.value) PreTravel(root.left, node) PreTravel(root.right, node) def BackTravel(root, node): if root==None: return BackTravel(root.left, node) BackTravel(root.right, node) node.append(root.value) ceng=input().strip().split(" ") zhong=input().strip().split(" ") root=BuildTree(ceng, zhong) leaf=[] pre=[] back=[] PrintLeafNode(root, leaf) PreTravel(root, pre) BackTravel(root, back) print(" ".join(leaf)) print(" ".join(pre)) print(" ".join(back))
原文地址:https://www.cnblogs.com/tsdblogs/p/9672129.html
时间: 2024-10-30 02:17:30