【LeetCode刷题(数据结构与算法)】:上下翻转二叉树

在这里插入图片描述

给你一个二叉树的根节点 root ,请你将此二叉树上下翻转,并返回新的根节点
你可以按下面的步骤翻转一棵二叉树:
原来的左子节点变成新的根节点
原来的根节点变成新的右子节点
原来的右子节点变成新的左子节点
在这里插入图片描述
上面的步骤逐层进行。题目数据保证每个右节点都有一个同级节点(即共享同一父节点的左节点)且不存在子节点
示例 1:
在这里插入图片描述
输入:root = [1,2,3,4,5]
输出:[4,5,2,null,null,3,1]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [1]
输出:[1]
思路:依次交换左 有 根节点 最后返回交过后的根节点即可解决问题
代码

struct TreeNode* upsideDownBinaryTree(struct TreeNode* root){if(root==NULL){return 0;}struct TreeNode*parent=NULL;struct TreeNode*parent_left=NULL;struct TreeNode*parent_right=NULL;while(root!=NULL){parent_left=root->left;root->left=parent_right;parent_right=root->right;root->right=parent;parent=root;root=parent_left;}return parent;
}

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

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

相关文章

水球展示——微信小程序

html <view class"water"><view class"text">完成率{{list.finish}}%</view><view class"img" style"height: {{list.finish}}%"><image src"../../image/water.jpg" mode"" />&l…

04-React脚手架

04-React脚手架 1. react脚手架入门 1).脚手架的介绍 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置&#xff08;语法检查、jsx编译、devServer…&#xff09;下载好了所有相关的依赖可以直接运行一个简单效果 react提供了一个用于创建rea…

PAM从入门到精通(一)

本文参考以下博文&#xff1a; PAM模块详解及sudo命令 PAM 的应用开发和内部实现源码分析 PAM详解&#xff08;一&#xff09;PAM介绍 百度百科 —— PAM Oracle Solaris 10 开发者安全性指南 —— PAM 框架介绍 特此致谢&#xff01; 零、引言 身份认证是操作系统安全的…

gitee page中HTML显示乱码

参考的&#xff1a;静态HTML网页部署到gitee后中文乱码-CSDN博客 根据上述引用的博客做完后要记得在gitee page中更新(我就是没点更新以为用不了)

Java GC 算法

一、概述 理解Java虚拟机垃圾回收机制的底层原理&#xff0c;是成为一个高级Java开发者的基本功。本文从底层的垃圾回收算法开始&#xff0c;着重去阐释不同垃圾回收器在算法设计和实现时的一些技术细节&#xff0c;去探索「why」这一部分&#xff0c;通过对比不同的垃圾回收算…

LabVIEW在安装了其它的NI软件之后崩溃了

LabVIEW在安装了其它的NI软件之后崩溃了 在安装了其它的NI软件之后&#xff0c;一些原本安装好的或者新安装的软件由于缺少必要的DLL而崩溃掉了。例如&#xff0c;在这种情况下&#xff0c;Teststand可能会报下面的错误&#xff1a; RetrievingCOM class factory for compone…

1.1 Windows驱动开发:配置驱动开发环境

在进行驱动开发之前&#xff0c;您需要先安装适当的开发环境和工具。首先&#xff0c;您需要安装Windows驱动开发工具包&#xff08;WDK&#xff09;&#xff0c;这是一组驱动开发所需的工具、库、示例和文档。然后&#xff0c;您需要安装Visual Studio开发环境&#xff0c;以便…

实践笔记-docker安装及配置镜像源

docker安装及配置镜像源 1.卸载旧版本docker2. 安装yum工具3. 设置镜像仓库4.安装docker5. 启动docker服务6.docker镜像源配置 当前环境linux为centos7 1.卸载旧版本docker 如果以前安装过旧版本可以先执行卸载&#xff0c;下面的截图是没有安装过。 yum remove docker \ do…

机器学习笔记 - 使用3D卷积神经网络进行视频分类

1、导入相应的库 3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。 首先安装并导入必要的库,用于处理ZIP文件内容的Remotezip 、用于使用进度条的tqdm 、用于处理视频文件的OpenCV 、用于执行更复杂的张量操作的einop…

Python批量测试IP端口GUI程序(Tkinter)

一、实现样式 批量IP与端口中间用“,”分割&#xff0c;点击Telnet进行测试&#xff0c;前提是你电脑安装了telnet客户端&#xff0c;Clear按钮用来清空文本框。 二、核心点 1、使用Tkinter来制作桌面GUI页面 2、使用telnetlib模块测试telnet端口 三、困难点 1、测试结果…

“氛围感 真环绕”可拆卸自由观影新物种 ——索尼发布“积木音响”HT-AX7

2023年10月16日&#xff0c;索尼(中国)有限公司发布新款蓝牙音响——“积木音响”HT-AX7。该音响采用索尼360SSM技术(360空间声场映射技术&#xff0c;简称360SSM)和独特的可拆卸结构设计&#xff0c;在实现传统音响的功能基础上&#xff0c;进一步为用户提供了创新式可移动多场…

智慧饭堂报餐系统源码 智慧食堂源码

智慧饭堂报餐系统源码 智慧食堂源码 技术栈 1、前端技术栈&#xff1a;ES6、vue、vuex、vue-router、vue-cli、axios、element-ui 2、后端技术栈&#xff1a;SpringBoot、MyBatis、Spring Security、Jwt 介绍 一款java开发的智慧饭堂报餐系统&#xff0c;支持连接人脸识别…

爬虫 | 正则、Xpath、BeautifulSoup示例学习

文章目录 &#x1f4da;import requests&#x1f4da;import re&#x1f4da;from lxml import etree&#x1f4da;from bs4 import BeautifulSoup&#x1f4da;小结 契机是课程项目需要爬取一份数据&#xff0c;于是在CSDN搜了搜相关的教程。在博主【朦胧的雨梦】主页学到很多…

企业订货系统常见问题与解决方案|网站定制搭建|小程序APP开发

企业订货系统常见问题与解决方案|网站定制搭建|小程序APP开发 在企业经营中&#xff0c;订货系统是一个非常重要的工具&#xff0c;它可以帮助企业快速地获取客户需求&#xff0c;制定生产计划&#xff0c;提高供应链效率&#xff0c;帮助企业快速、准确地计算出所需物资的数量…

基于R和gephi做宏基因组与代谢组等多组学联合network相关性网络图

写在前面 拿到多组学的数据后一直在找合适的方法将二者进行关联&#xff0c;比如我这里是三种体液的代谢组与一种体液的宏基因组。需求是对多组学进行关联分析&#xff0c;直到最近看到不少文章里利用Gephi将相关性表格进行可视化的图&#xff0c;效果还不错&#xff0c;于是写…

Vue3集成高德地图:快速上手,实现你的业务需求

Vue3集成高德地图 前言一、准备工作1.开发文档2.添加应用 二、使用步骤命令安装2.地图容器创建3.组件引入4.js api 安全密钥5.初始化地图6. 图层6.1 添加 / 设置 / 获取 / 移除图层6.1.1 添加图层6.1.2 设置图层6.1.3 获取图层6.1.4 移除图层 7. 点标记8. 信息窗体8.1 默认信息…

【微服务】微服务初步认识 - 微服务技术如何学习 · 认识微服务架构

微服务&#xff08;1&#xff09; 文章目录 【微服务】&#xff08;1&#xff09;1. 微服务相关技术栈2. 微服务学习路线3. 认识微服务架构3.1 单体架构3.2 分布式架构3.3 微服务(架构)3.4 微服务(架构)治理落实相关的SpringCloud、SpringCloudAlibaba和阿里巴巴的Dubbo提供的服…

226、翻转二叉树

题目链接&#xff1a; \sf 题目链接&#xff1a; 题目链接&#xff1a; 图解&#xff1a; 方法一、 D F S \sf 方法一、DFS 方法一、DFS 递归&#xff1a; 让左子树是翻转后的右子树&#xff0c; 右子树是翻转后的左子树。 ∴从叶结点开始&#xff0c;自底向上逐步翻转。递归出…

Elucidating the Design Space of Diffusion-Based Generative Models 阅读笔记

文章使用模块化&#xff08;modular&#xff09;的思想&#xff0c;分别从采样、训练、score network设计三个方面分析和改进diffusion-based models。 之前的工作1已经把diffusion-based models统一到SDE或者ODE框架下了&#xff0c;这篇文章的作者同样也从SDE和ODE的角度出发…

文件路径操作

避开-转义字符 python文件路径导致的错误常常与“\”有关&#xff0c;因为在路径中的“\”常会被误认为转义字符。 所以在上述路径中&#xff0c;\table\name\rain中的\t,\n,\r都易被识别为转义字符。 解决的办法主要由以下三种&#xff1a; #1 前面加r表示不转义 pathr&quo…