本文共 626 字,大约阅读时间需要 2 分钟。
操作给定的二叉树,将其变换为源二叉树的镜像。
二叉树的镜像定义:源二叉树
8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5
#定义数节点结构class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: # 返回镜像树的根节点 def Mirror(self, root): if root == None: return None #互换左右孩子的值 root.right,root.left=root.left,root.right #递归处理左子树 self.Mirror(root.right) #递归处理右子树 self.Mirror(root.left)
对于镜像的定义以及图解我们可以很清楚的明白,就是调换左右孩子的值。
那么第一步先判断根节点是否为空,然后进行调换根节点的左右孩子的值,然后进行递归处理左右子树。当处理的节点为空以后就不在进行处理,退出递归操作。转载地址:http://trgzi.baihongyu.com/