递归写的很low,mac模式
package main
import "fmt"
type TreeNode struct {
Value int
Left *TreeNode
right *TreeNode
}
func mirrorTree(root *TreeNode) *TreeNode {
if root == nil {
return root
}
left := mirrorTree(root.Left)
right := mirrorTree(root.right)
root.Left = right
root.right = left
return root
}
func main() {
left := &TreeNode{2, nil, nil}
right := &TreeNode{3, nil, nil}
root := TreeNode{1, left, right}
be := [3]int{root.Value, root.Left.Value, root.right.Value}
fmt.Println("before mirror", be)
reroot := mirrorTree(&root)
af := [3]int{reroot.Value, reroot.Left.Value, reroot.right.Value}
fmt.Println("after mirror", af)
}
标签:right,TreeNode,nil,Value,mac,go,镜像,root,Left
From: https://www.cnblogs.com/jianjiana/p/16981023.html