There are three types of tree depth-first traversal : pre-order, middle-order, and post-order.
1. Pre-order priority traversal:
class TreeNode():
def __init__(self,x):
self.val = x
self.left = None
self.right = None
class Solution(object):
def preorder(self, root):
if root is None:
return ''
print(root.val)
if root.left:
self.preorder(root.left)
if root.right:
self.preorder(root.right)
2. Mid-order traversal:
def midorder(self,root):
if not root:
return ''
if root.left:
self.midorder(root.left)
print(root.val)
if root.right:
self.midorder(root.right)
3. Post-order traversal:
def midorder(self,root):
if not root:
return ''
if root.left:
self.midorder(root.left)
if root.right:
self.midorder(root.right)
print(root.val)