class Solution():
def findroot(self,pre,mid,post):
if len(pre) == 0:
return
else:
post.append(pre[0])
m = mid.index(pre[0])
self.findroot(pre[m+1:],mid[m+1:],post)
self.findroot(pre[1:m+1],mid[:m],post)
def findpost(self,pre,mid):
post = []
s.findroot(pre,mid,post)
return post[::-1]
#test
pre = ['A','B','D','E','G','I','H','C','F']
mid = ['D','B','G','I','E','H','A','C','F']
s = Solution()
print(s.findpost(pre,mid))
网友评论