要求:
给定一棵二叉树,要求输出其左右翻转后二叉树的层次遍历。
解析:
两个步骤:
- 镜像翻转:只需要遍历二叉树,每次访问一个结点时,交换其左右孩子。
- 层次遍历。
代码实现:
# -*- coding:utf-8 -*-
from collections import deque
class BiTNode():
def __init__(self):
self.data = None
self.lchild = None
self.rchild = None
#对二叉树进行镜像反转
def reverseTree(root):
if root == None:
return
reverseTree(root.lchild)
reverseTree(root.rchild)
tmp = root.lchild
root.lchild = root.rchild
root.rchild = tmp
def arraytotree(arr,start,end):
root = None
if end >= start:
root = BiTNode()
mid = int((sta