Featured image of post 226. 翻转二叉树

226. 翻转二叉树

题目描述

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

示例 1:

  • 输入:root = [4,2,7,1,3,6,9]
  • 输出:[4,7,2,9,6,3,1]

示例 2:

  • 输入:root = [2,1,3]
  • 输出:[2,3,1]

示例 3:

  • 输入:root = [ ]
  • 输出:[ ]

提示:

  • 树中节点数目范围在 [0, 100]
  • -100 <= Node.val <= 100

解法一:递归

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
/**
 * 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
    }
    left := root.Left
    root.Left = invertTree(root.Right)
    root.Right = invertTree(left)
    return root
}
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计