【递归 回溯】LeetCode-226. 翻转二叉树

226. 翻转二叉树。

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

示例 1:
image

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

示例 2:
image

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

示例 3:

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

提示:

树中节点数目范围在 [0, 100] 内
-100 <= Node.val <= 100
算法分析

解题思路

每次递归交换左右子树即可。遇到空节点返回空节点。

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null) return root;
        TreeNode t = root.left;
        root.left = root.right;
        root.right = t;

        invertTree(root.left);
        invertTree(root.right);
        
        return root;
    }
}

复杂性分析

时间复杂度:O(n)
空间复杂度:O(n)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实战篇:一文讲清楚电商平台用户评价分析

01 明确问题 随着电商平台的成熟&#xff0c;如何提升用户体验、提高客户留存率也成为了电商平台关注的重点。而用户评价是最直观地能反应用户体验的指标。用户差评更是其中的重点&#xff0c;通过差评分析&#xff0c;可以寻找到平台目前存在的可能导致用户打出差评的因素&am…

机器学习——特征选择(一)

【说明】文章内容来自《机器学习——基于sklearn》&#xff0c;用于学习记录。若有争议联系删除。 1、简介 特征选择&#xff0c;又称变量选择、属性选择或变量子集选择&#xff0c;是选择相关特征子集用于模型构造的过程。简要地说&#xff0c;通过检测相关特征。摒弃冗余特征…

TransXNet实战:使用 TransXNet实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

脉冲水表作用有哪些?

脉冲水表是一种新型的水表&#xff0c;它通过检测水流量并发送脉冲信号来计量用水量。与传统的机械水表相比&#xff0c;脉冲水表具有许多优势和作用。 首先&#xff0c;脉冲水表具有高精度和可靠性。传统的机械水表在长期使用过程中会因磨损而导致计量不准确&#xff0c;而脉冲…

【强化学习】Deep Q Learning

Deep Q Learning 在前两篇文章中&#xff0c;我们发现RL模型的目标是基于观察空间 (observations) 和最大化奖励和 (maximumize sum rewards) 的。 如果我们能够拟合出一个函数 (function) 来解决上述问题&#xff0c;那就可以避免存储一个 (在Double Q-Learning中甚至是两个…

Redis介绍与使用

1、Nosql 1.1 数据存储的发展 1.1.1 只使用Mysql 以前的网站访问量不大&#xff0c;单个数据库是完全够用的。 但是随着互联网的发展&#xff0c;就出现了很多的问题&#xff1a; 数据量太大&#xff0c;服务器放不下 访问量太大&#xff0c;服务器也承受不了 1.1.2 缓存…

STL stack练习

CSTL之stack栈容器 - 数据结构教程 - C语言网CSTL之stack栈容器1.再谈栈回顾一下之前所学的栈&#xff0c;栈是一种先进后出的数据结构&#xff0c;而实现方式需要创建多个结构体&#xff0c;通过链式的方式进行实现&#xff0c;这是标准的栈的思路&#xff0c;而在STL中栈可以…

ctfshow(web190-web200)

目录 web190 web191 web192 web193 web194 web195 web196 web197 web198 web199 web200 web190 为什么要有admin呢 这也是试出来的 这个admin必须是数据库中存在的 这样才能使用布尔注入 因为这个时候登录 有两种返回结果 一种密码错误 一种就是用户名错误 admin an…

HBase 整合 Phoenix

目录 一、Phoenix 简介 1.1 Phoenix定义 1.2 为什么使用 Phoenix 二、Phoenix 快速入门 2.1 安装部署 Phoenix 2.1.1 上传并解压 tar 包 2.1.2 复制 server 包并拷贝到各个节点的 hbase/lib 2.1.3 配置环境变量 2.1.4 重启 HBase 2.1.5 连接 Phoenix 2.2 Phoenix…

FBX模型 转换成带有空间参考的 3DTiles(.b3dm) 数据(FBX glTF 3DTiles)

目录 0 引言1 数据类型介绍1.1 FBX数据1.2 glTF数据1.3 3DTiles1.3.1 简介1.3.2 3DTiles格式的LOD是如何定义1.3.3 文件后缀格式 2 转换工具2.1 CesiumGS /3d-tiles-tools 工具2.1 glf-to-3d-tiles工具 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xf…

Linux下载安装Pychram社区版

一.背景 最近将开发也转到Linuxl发现vscode在Linux上面的速度个方面都比windows快太多了!!! 狠狠爱住,于是准备把pycharm也装上来,由于作者没有edu邮箱,于是拿社区版进行演示 二.具体步骤 2.1下载pycharm社区版 链接:下载PyCharm&#xff1a;JetBrains为专业开发者提供的P…

【经典LeetCode算法题目专栏分类】【第2期】组合与排列问题系列

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 组合总和1 class So…

你应该知道的C语言性能提升法之结构体优化

前两天码哥写了一篇《你应该知道的C语言Cache命中率提升法》的文章&#xff0c;讲述关于地址连续性带来的cache命中率提升&#xff0c;感兴趣的朋友可以先翻看一番。 今天的文章是关于如何优化结构体成员来提升cache命中率的。我们先来看一个例子&#xff1a; 代码一 /* a.c…

一文教你提高写代码效率,程序员别错过!

首先&#xff0c;每个程序员都是会利用工具的人&#xff0c;也有自己囊里私藏的好物。独乐乐不如众乐乐&#xff0c;今天笔者整理了 3 个辅助我们写代码的黑科技&#xff0c;仅供参考。如果你有更好的工具&#xff0c;欢迎评论区分享。 1、Google/Stackoverflow——搜索解决方…

ChimeraX使用教程-安装及基本操作

ChimeraX使用教程-安装及基本操作 1、访问https://www.cgl.ucsf.edu/chimerax/download.html进行下载&#xff0c;然后安装 安装完成后&#xff0c;显示界面 2、基本操作 1、点击file&#xff0c;导入 .PDB 文件。 &#xff08;注&#xff1a;在 alphafold在线预测蛋白》点…

编码器的数学描述

在数字信号处理和通信系统中&#xff0c;编码器扮演着非常重要的角色&#xff0c;它负责将原始信号转换成特定的编码形式&#xff0c;以便于传输、存储和处理。编码器的数学描述是理解其原理和设计实现的关键。本文将围绕编码器的数学描述展开&#xff0c;介绍编码器的基本原理…

智能物联网汽车3d虚拟漫游展示增强消费者对品牌的认同感和归属感

汽车3D虚拟展示系统是一种基于web3D开发建模和VR虚拟现实技术制作的360度立体化三维汽车全景展示。它通过计算机1:1模拟真实的汽车外观、内饰和驾驶体验&#xff0c;让消费者在购车前就能够更加深入地了解车辆的性能、特点和设计风格。 华锐视点云展平台是一个专业的三维虚拟展…

2023年中国法拍房用户画像和数据分析

法拍房主要平台 法拍房主要平台有3家&#xff0c;分别是阿里、京东和北交互联平台。目前官方认定纳入网络司法拍卖的平台共有7家&#xff0c;其中阿里资产司法拍卖平台的挂拍量最大。 阿里法拍房 阿里法拍房数据显示2017年&#xff0c;全国法拍房9000套&#xff1b;2018年&a…

C语言归并排序(合并排序)算法以及代码

合并排序是采用分治法&#xff0c;先将无序序列划分为有序子序列&#xff0c;再将有序子序列合并成一个有序序列的有效的排序算法。 原理&#xff1a;先将无序序列利用二分法划分为子序列&#xff0c;直至每个子序列只有一个元素(单元素序列必有序)&#xff0c;然后再对有序子序…

【VScode和Leecode的爱恨情仇】command ‘leetcode.signin‘ not found

文章目录 一、关于command ‘leetcode.signin‘ not found的问题二、解决方案第一&#xff0c;没有下载Nodejs&#xff1b;第二&#xff0c;有没有在VScode中配置Nodejs第三&#xff0c;力扣的默认在VScode请求地址中请求头错误首先搞定配置其次搞定登入登入方法一&#xff1a;…