有一个想法其实很不错,使用递归的方法,把每层的值都进行交换
这样就自然形成了一棵树的全部翻转
解
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func invertTree(root *TreeNode) *TreeNode {
if root == nil{
return root
}
if root.Left == nil && root.Right==nil{
return root
}
var ret = root.Left
root.Left = root.Right
root.Right = ret
invertTree(root.Left)
invertTree(root.Right)
return root
}