您的位置:首页 > 其它

No15_输入一颗二元查找树,将该树转换为它的镜像,

2014-05-24 17:04 295 查看
题目博客:

http://blog.csdn.net/v_JULY_v/article/details/6057286

题目:

即在转换后的二元查找树中,左子树的结点都大于右子树的结点。

用递归和循环两种方法完成树的镜像转换。

例如输入:

8

/ /

6 10

// //

5 7 9 11

输出:

8

/ /

10 6

// //

11 9 7 5
只做递归的。。不想做循环的了。
#coding=utf-8
'''
Created on 2014年5月24日

@author: Administrator
'''
class TreeNode:
def __init__(self,value,leftChild=None,rightChild=None):
self.value=value
self.leftChild,self.rightChild=leftChild,rightChild
def swap(Treeroot):
if not Treeroot:
return
else:
swap(Treeroot.leftChild)
swap(Treeroot.rightChild)
Treeroot.leftChild,Treeroot.rightChild=Treeroot.rightChild,Treeroot.leftChild
def printTree(root):
if not root:
return
else:
printTree(root.leftChild)
print root.value,
printTree(root.rightChild)

if __name__ == '__main__':
node5=TreeNode(5)
node7=TreeNode(7)
node9=TreeNode(9)
node11=TreeNode(11)
node6=TreeNode(6,leftChild=node5,rightChild=node7)
node10=TreeNode(10,leftChild=node9,rightChild=node11)
node8=TreeNode(8,leftChild=node6,rightChild=node10)
printTree(node8)
print
swap(node8)
printTree(node8)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐