要求:
给定一个二叉树,复制该树
分析:
复制一颗二叉树,先复制其根结点,再复制左子树,最后复制右子树,从而复制完成;
实现代码:
# -*- coding:utf-8 -*-
class BiTNode():
def __init__(self):
self.data = None
self.lchild = None
self.rchild = None
def creatDupTree(root):
if root == None:
return None
#二叉树根节点
dupTree = BiTNode()
dupTree.data = root.data
#复制左子树
dupTree.lchild = creatDupTree(root.lchild)
#复制右子树
dupTree.rchild = creatDupTree(root.rchild)
return dupTree
def printTreeMidOrder(root):
if root == None:
return
#遍历root结点左子树
if root.lchild != None:
printTreeMidOrder(root.lchild)
#遍历root结点
print(root.data)
#遍历root结点右子树
if root.rchild != None:
printTreeMidOrder(root.rchild)
def constructTree():
root