226. 翻转二叉树

2023-03-03  本文已影响0人  7赢月

有一个想法其实很不错,使用递归的方法,把每层的值都进行交换

这样就自然形成了一棵树的全部翻转

/**
 * 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
}

上一篇 下一篇

猜你喜欢

热点阅读