这是一道 「简单」
https://leetcode.cn/problems/invert-binary-tree/

题目

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

示例 1:

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */

func invertTree(root *TreeNode) *TreeNode {
    
    if root == nil {
        return nil
    }

    left, right := root.Left, root.Right

    root.Left = invertTree(right)
    root.Right = invertTree(left)

    return root
    
}

复杂度分析

  • 时间复杂度为二叉树中节点的个数,每个节点交换子节点的时间复杂度为,总共有个节点,所有总的时间复杂度为
  • 空间复杂度,空间复杂度为调用栈的深度,最多为层,即二叉树退化成链表的时候。


- End -



本篇文章来源于微信公众号: i余数



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2023-06-19