力扣226.翻转二叉树(二叉树的先序遍历)

news2024/12/23 3:14:47

文章目录

  • 题目描述
  • 思路
  • 复杂度
  • Code

题目描述

在这里插入图片描述在这里插入图片描述

思路

利用二叉树的先序遍历,每次递归遍历时将当前节点的左右子节点交换即可

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为树节点的个数

空间复杂度:

O ( h e i g h ) O(heigh) O(heigh);其中 h e i g h t height height为树的高度

Code

class Solution {
public:
    /**
     *
     * @param root The root of binary tree
     * @return TreeNode*
     */
    TreeNode *invertTree(TreeNode *root) {
        traverse(root);
        return root;
    }

    /**
     * Binary tree traversal function
     *
     * @param root The root of binary tree
     */
    void traverse(TreeNode *root) {
        if (root == nullptr) {
            return;
        }
        //All each node needs to do is swap its left and right child nodes
        TreeNode *tmp = root->left;
        root->left = root->right;
        root->right = tmp;

        //Traverse the nodes of the left and right subtree
        traverse(root->left);
        traverse(root->right);
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1510061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚位以待!OpenHarmony开发者激励计划持续招募中

虚位以待!OpenHarmony开发者激励计划持续招募中 自2022年5月7日,OpenHarmony开发者激励计划启动招募以来,就正式公开邀请广大开发者们参与 OpenHarmony 生态共建。随着社区的快速成长,目前已有累计超过7000名贡献者,产…

7个帮您恢复文件的Android 数据恢复推荐

您的 Android 设备上保存哪些类型的数据?如果您像大多数人一样,那么您可能已经列出了文档、照片、视频和音频文件。如果您使用智能手机或平板电脑的时间足够长,我们愿意打赌您对 Android 数据丢失有第一手经验。 对您来说幸运的是&#xff0…

目标检测数据集:手机顶盖焊缺陷检测数据集

✨✨✨✨✨✨目标检测数据集✨✨✨✨✨✨ 本专栏提供各种场景的数据集,主要聚焦:工业缺陷检测数据集、小目标数据集、遥感数据集、红外小目标数据集,该专栏的数据集会在多个专栏进行验证,在多个数据集进行验证mAP涨点明显,尤其是小目标、遮挡物精度提升明显的数据集会在该…

ubuntu 18.04安装教程(详细有效)

文章目录 一、下载ubuntu 18.04镜像二、安装ubuntu1. 点击下载好的Vmware Workstation,点击新建虚拟机,选择 “自定义(高级)”,之后下一步。2. 默认配置,不需要更改,点击下一步。3. 选择 “安装程序光盘映像文件(iso)(…

用信号的方式回收僵尸进程

当子进程退出后,会给父进程发送一个17号SIGCHLD信号,父进程接收到17号信号后,进入信号处理函数调用waitpid函数回收僵尸进程若多个子进程同时退出后,这是切回到父进程,此时父进程只会处理一个17号信号,其他…

vulhub中Weblogic SSRF漏洞复现

Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。 访问http://your-ip:7001/uddiexplorer/,无需登录即可查看uddiexplorer应用。 SSRF漏洞测试 SSRF漏洞存在于http://your-ip:7001/ud…

魅族录屏功能在哪里?这篇文章告诉你答案

“魅族录屏功能在哪里?作为一名魅族手机的新用户,我对这款手机非常满意。然而,最近我在工作中需要用到录屏功能,却找不到如何开启的方法。想请教各位魅族手机的达人们,能否分享一下录屏功能的开启方法?非常…

Android studio Gradle下载失败,如何手动配置解决该问题详解

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 👉点击跳转到教程 前言: 今天在打开公司一个项目时,突然要重新下载相关的gradle&am…

JWT实战之升级Java JWT

概述 关于JWT的基础概念,如JWT组成部分,以及入门实战,如:如何生成Token、如何解析Token、怎么加入自定义字段等,可参考JWT入门教程。 如前文提到的blog所述,大多数公司都会使用如下(版本&…

C#,入门教程(26)——数据的基本概念与使用方法

上一篇: C#,入门教程(25)——注释(Comments)你会吗?看多图演示,学真正注释。https://blog.csdn.net/beijinghorn/article/details/124681888 本文所述的知识基本上适用于C/C++,java等其他语言。 数据是程序的基础,算法是程序的栋梁。 徒弟们交作业的之后,一般都会有…

【Sql】数据库的三范式?MySQL数据库引擎有?InnoDB与MyISAM的区别

目录 数据库的三范式? MySQL数据库引擎有? InnoDB与MyISAM的区别 数据库的三范式? 第一范式:是数据库最基本的要求,列不可再分 第二范式:行可以唯一区分,主键约束 第三范式:是在…

【io.net】问题汇总

【io.net】问题汇总 大家最近挖挖的如火如荼,可是不论是社区活动积分和参与挖矿积分,大家遇到了很多类似问题,重复解决。 因此我这里整理了一下常见的相关问题,大家可以一站式找到解决方案。解决方案主要分为运营和挖矿两个两面…

【CMake G++ GCC】在 Linux 环境中编译 C++ 源码

在 Linux 环境中编译 C 源码 C 技术栏 文章演示了在 乌班图 环境下编译mathematical-expression-cpp 动态库源码,! 目录 文章目录 在 Linux 环境中编译 C 源码目录介绍前置准备apt 更新下载并进入源码包 开始编译源码包修改 CMakeList 文件开始进行 makeFile 的生…

AIGC——ConsiStory无需训练LoRA快速实现主题一致地文本到图像生成技术

简介 当前的图像生成技术大多数采用随机采样,这导致每次生成的图像都有所不同,特别是在生成连续图像时难以保持一致性。 举例来说,尝试用AI生成一组图像连环画时,即使使用相似的提示词,也难以达到理想效果。 尽管DA…

7-18 两个数的简单计算器

本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。 输入格式: 输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数…

嵌入式学习第二十七天!(TCP并发模型)

TCP并发模型: 1. TCP多线程模型: 缺点:创建线程会带来资源开销,能够实现的并发量比较有限。 2. IO模型: 1. 阻塞IO: 没有数据到来时,可以让任务挂起,节省CPU资源开销,提…

C# MES通信从入门到精通(1)——串口传输文件

前言: 在上位机软件开发领域,有一些工厂的mes系统需要我们通过串口发送文件的方式把一些图片或者检测数据csv文件等发送给服务器,这种方式是一些比较旧的工厂采用的方式,但是这种方式也是存在的,本文就是讲解如何使用串口发送文件详情见下文。 1、串口发送文件思路 将需…

Python-Pong-Game

我还加了音效,类似于小时候游戏机上的弹球游戏 import os import turtle import pygame#初始化pygame pygame.init()#加载声音文件 bounce_sound pygame.mixer.Sound("bounce.mp3")wn turtle.Screen() wn.title("Pong by ") wn.bgcolor(&qu…

docker学习进阶篇

一、dockerfile解析 官方文档: Dockerfile reference | Docker Docs 1.1、dockfile是什么? dockerfile是用来构建docker镜像的文本文件,由一条条构建镜像所需的指令和参数构成的脚本。 之前我们介绍过通过具体容器反射构建镜像(docker comm…