Merge pull request #39 from akshaysharma096/master

added isinstance check
This commit is contained in:
Chetan Kaushik 2016-10-14 08:09:21 +05:30 committed by GitHub
commit 0dbd2df11b

View File

@ -6,7 +6,6 @@ import queue
class TreeNode:
def __init__(self, data):
self.data = data
self.right = None
@ -40,7 +39,8 @@ def build_tree():
def pre_order(node):
if not node:
if not isinstance(node, TreeNode) or not node:
print("Invalid input")
return
print(node.data, end=" ")
pre_order(node.left)
@ -48,7 +48,7 @@ def pre_order(node):
def in_order(node):
if not node:
if not isinstance(node, TreeNode) or not node:
return
in_order(node.left)
print(node.data, end=" ")
@ -56,7 +56,7 @@ def in_order(node):
def post_order(node):
if not node:
if not isinstance(node, TreeNode) or not node:
return
post_order(node.left)
post_order(node.right)
@ -64,7 +64,7 @@ def post_order(node):
def level_order(node):
if not node:
if not isinstance(node, TreeNode) or not node:
return
q = queue.Queue()
q.put(node)
@ -79,6 +79,7 @@ def level_order(node):
if __name__ == '__main__':
import sys
print("\n********* Binary Tree Traversals ************\n")
# For python 2.x and 3.x compatibility: 3.x has not raw_input builtin
# otherwise 2.x's input builtin function is too "smart"