《剑指Offer》刷题之二叉树的镜像
我不知道将去向何方,但我已在路上! |
---|
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! |
- 题目:
操作给定的二叉树,将其变换为源二叉树的镜像。
比如: 源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
- 示例:
示例 1 :
输入:{8,6,10,5,7,9,11}
返回值:{8,10,6,11,9,7,5}
- 代码1:
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def Mirror(self , pRoot ):
if pRoot:
right = self.Mirror(pRoot.left)
left = self.Mirror(pRoot.right)
pRoot.right = right
pRoot.left = left
return pRoot
- 算法说明:
递归,后序遍历,先遍历左子树,交换左右孩子,遍历右子树,交换左右孩子。