题目链接: 剑指Offer 27. 二叉树的镜像
题目描述:
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
解法思路:
此题本质上就是一个二叉树遍历的问题:在遍历的过程中,交换左右子树即可。
代码:
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
//先序遍历
func mirrorTree(root *TreeNode) *TreeNode {
if root == nil {
return root
}
root.Left, root.Right = root.Right, root.Left
mirrorTree(root.Left)
mirrorTree(root.Right)
return root
}
//后序遍历
func mirrorTree(root *TreeNode) *TreeNode {
if root == nil {
return root
}
l := mirrorTree(root.Left)
r := mirrorTree(root.Right)
root.Left, root.Right = r, l
return root
}
标签:Right,TreeNode,Offer,27,二叉树,mirrorTree,root,Left
From: https://www.cnblogs.com/lxing-go/p/17660519.html