二叉树的镜像

1
2
3
4
5
6
7
        8
6 10
5 7 9 11

8
10 6
11 9 7 5

思路

对于此类题,我们可以将跟结点的左右子树进行反转,再分别最各自的左右子树进行反转

1
2
3
4
5
6
7
8
9
10
11
12
func MicrrorRecusively(root *treeNode) {
if root == nil || (root.left == nil && root.right == nil) {
return
}
root.left, root.right = root.right, root.left
if root.left != nil {
MicrrorRecusively(root.left)
}
if root.right != nil {
MicrrorRecusively(root.right)
}
}