任意给定一棵二叉树,实现对二叉树的逐层遍历,并将奇数层顺序输出,偶数层逆序输出。如建立如下的二叉树:
···················root
········ ·····7 ·········· 8
·········6
·····2······5
·1······3·····4
class TreeNode(object):
def __init__(self,data=0,left=None,right=None):
self.data = data
self.left = left
self.right = right
# 遍历某一层所有节点,并打印
def TransLevel(root,level):
if root == None:
return
else:
if level == 1 and isinstance(root, TreeNode):
print("%s " % root.data)
zhou.append(root.data)
shou.append(root.data)
else:
if isinstance(root, TreeNode):
TransLevel(root.left, level-1)
TransLevel(root.right, level-1)
def treeDepth(tree):
if not isinstance(tree, TreeNode):
return 0
leftDepth=treeDepth(tree.left)
rightDepth=treeDepth(tree.right)
if leftDepth>r