# -*- coding:utf-8 -*-
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
def HasSubtree(self, pRoot1, pRoot2):
pass
def preorderList(self, root):
'''
' 前序遍历
'''
val = ""
if root:
val = str(root.val)
val += str(self.preorderList(root.left))
val += str(self.preorderList(root.right))
return val
def inorderList(self, root):
'''
' 中序遍历
'''
val = ""
if root:
val += str(self.inorderList(root.left))
val += str(root.val)
val += str(self.inorderList(root.right))
return val
def postorderList(self, root):
'''
' 后序遍历
'''
val = ""
if root:
val += str(self.postorderList(root.left))
val += str(self.postorderList(root.right))
val += str(root.val)
return val
if __name__ == '__main__':
n1 = TreeNode(1)
n2 = TreeNode(2)
n3 = TreeNode(3)
n4 = TreeNode(4)
n5 = TreeNode(5)
n6 = TreeNode(6)
n7 = TreeNode(7)
n8 = TreeNode(8)
n1.left = n2
n1.right = n3
n2.left = n4
n2.right = n5
n3.left = n8
n5.left = n6
n6.right = n7
n4.left = None
n4.right = None
s = Solution()
s.HasSubtree(n1, None)
print s.preorderList(n1)
print s.inorderList(n1)
print s.postorderList(n1)
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
def HasSubtree(self, pRoot1, pRoot2):
pass
def preorderList(self, root):
'''
' 前序遍历
'''
val = ""
if root:
val = str(root.val)
val += str(self.preorderList(root.left))
val += str(self.preorderList(root.right))
return val
def inorderList(self, root):
'''
' 中序遍历
'''
val = ""
if root:
val += str(self.inorderList(root.left))
val += str(root.val)
val += str(self.inorderList(root.right))
return val
def postorderList(self, root):
'''
' 后序遍历
'''
val = ""
if root:
val += str(self.postorderList(root.left))
val += str(self.postorderList(root.right))
val += str(root.val)
return val
if __name__ == '__main__':
n1 = TreeNode(1)
n2 = TreeNode(2)
n3 = TreeNode(3)
n4 = TreeNode(4)
n5 = TreeNode(5)
n6 = TreeNode(6)
n7 = TreeNode(7)
n8 = TreeNode(8)
n1.left = n2
n1.right = n3
n2.left = n4
n2.right = n5
n3.left = n8
n5.left = n6
n6.right = n7
n4.left = None
n4.right = None
s = Solution()
s.HasSubtree(n1, None)
print s.preorderList(n1)
print s.inorderList(n1)
print s.postorderList(n1)