【LeetCode面试经典150题】226. 翻转二叉树

一、题目

  • 226. 翻转二叉树 - 力扣(LeetCode)
  • 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

二、思路

  1. 其实就是个二叉树遍历问题,只不过不是单纯的遍历,而是在遍历的同时进行元素的交换;
  2. 而涉及到交换,那肯定有一个 tmp 变量负责 swap 操作;
  3. 具体代码见解法一,其中遍历顺序可以随意调整,不影响最终结果(因为交换的是左右子树,而遍历只是移动指针位置,没有做操作);

三、解法

解法一

class Solution {public TreeNode invertTree(TreeNode root) {if (root == null) {return root;}TreeNode tmp = root.left;// 前序 | 中序 | 后序 随便换root.left = invertTree(root.right);root.right = invertTree(tmp);System.out.println(root.val);return root;}
}

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

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

相关文章

利用ChatGPT辅助数学建模竞赛:理清思路、解题技巧与实战经验

导言 数学建模竞赛是许多学生在学术领域追求卓越的重要途径之一。然而,竞赛题目的复杂性常常让人望而生畏。在这样的情况下,利用人工智能工具,如ChatGPT,可以极大地辅助我们快速理清思路、解题技巧与实战经验。本文将探讨如何利用ChatGPT在数学建模竞赛中取得更好的成绩,…

Android应用开发之AndroidManifest.xml

一.AndroidManifest.xml介绍 1.定义 AndroidManifest官方解释是应用清单(manifest意思是货单),每个应用的根目录中都必须包含一个,并且文件名必须一模一样。 它是Android程序的全局配置文件,是每个 android程序中必须…

韭菜收割项目

最近在玩股票,被人当成韭菜收割了一顿。高点追涨,第二天直接跌停。以为是低点,想抄底,结果别人直接抄家,血亏!!! 作为一个程序员,还是好好敲代码赚钱好了,一步一步。想不劳而获是不可能的。 我写…

[智能AI摄像头]使用docker搭建RV1126开发环境

创建ubuntu docker 创建dockerfile # 设置基础镜像为Ubuntu 18.04FROM ubuntu:20.04# 设置作者信息MAINTAINER warren "2016426377qq.com"# 设置环境变量,用于非交互式安装ENV DEBIAN_FRONTENDnoninteractive# 备份源列表文件RUN cp -a /etc/apt/source…

视频号小店脱颖而出,一跃成为电商黑马!马化腾要实现电商梦了?

大家好,我是喷火龙。 视频号这个名字在电商的圈子里是经常被提起的,特别是从今年开始,很多之前的电商项目不行,加上传统电商平台开始走下坡路,于是很多电商人都把视频号小店作为一个新的突破口。 因为视频号小店足够…

.NET技术成长路线架构图

.NET技术成长路线架构图 1. 入门基础 编程语言:C# 基础知识(变量、数据类型、控制结构、面向对象编程)开发环境:Visual Studio 安装与配置基础框架:.NET Framework 或 .NET Core/.NET 5 的基本概念 2. 进阶技能 We…

MySQL 数据备份实战

文章目录 前言简介一、数据备份导出SQL文件第一步:登录MySQL第二步:选中数据库第三步:数据导出SQL文件 二、还原SQL文件第一步:登录MySQL第二步:创建数据库第三步:选中数据库第三步:终端命令行语…

担心安全性?银行卡四要素检测API帮你搞定

聚合小课堂,每天一个API 不知道家里是不是还有坚持不用电子支付的显眼包长辈 一问就是怕支付平台“漏财”。 但是,你还别说, 你怕商家坑你 商家也怕被你逗着玩 要是不幸遇上一个牛鬼蛇神 盗刷、欺诈,财货两空 那才是,叫…

代码随想录算法训练营第四十二天 | 62.不同路径、63. 不同路径 II

62.不同路径 代码随想录 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_bilibili 解题思路 1.dp[i][j]表示从00走到ij有多少种方式 2. ij可以由i-1,j往右走一步,或者i,j-1往想下走…

精通Java:高级面试问题精粹与解答(一)

Java 高级面试问题及答案 1. 如何在Java中实现多线程? 答案: 在Java中实现多线程有几种方式: 继承Thread类:创建一个类继承自Thread类,并重写其run()方法。实现Runnable接口:创建一个类实现Runnable接口…

修改ui 组件 表格划过效果

问题描述 Ant Design Vue 中table 表格 取消划过效果,正常使用类找到效果并修改后 会出现闪白的情况。 .ant-table-cell-row-hover:hover:not(.ant-table-expanded-row) > td{background-color: green !important; }原因分析: 代码运行自上而下并因…

1791.找出星形图的中心节点

刷算法题: 第一遍:1.看5分钟,没思路看题解 2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

电脑中msvcp100.dll丢失了怎么办?总结7种靠谱的解决方法

msvcp100.dll 文件是 Microsoft Visual C 2010 Redistributable 的一部分,这是一个重要的动态链接库(DLL)文件,用于存储许多程序共同使用的代码和资源。它是执行 C 编写的应用程序所必需的,尤其是那些使用 Visual C 20…

全局配置Maven

如果开着项目,就file->close project 如果创建有问题可以转到这篇rIDEA2024创建maven项目-CSDN博客https://blog.csdn.net/weixin_45588505/article/details/139271562?spm1001.2014.3001.5502

Layui 项目打开左侧菜单空白解决方案

home/index.html 页面中 替换 navigation 为 menu

海外仓ERP系统:赋能海外仓,实现标准化管理

随着业务规模的不断发展和业务类型的复杂度逐渐提升,传统的海外仓管理模式已经很难适应现在的情况了。对海外仓企业来说,一套合适的海外仓管理erp系统可以起到很大的辅助作用。 不过很多小型海外仓企业会纠结于是同时选择企业erp系统和海外仓管理系统&a…

图论(五)-最短路

一、Bellman-Ford算法 算法思想:通过 n 次循环,每次循环都遍历每条边(共 m 条边),进而更新节点的距离,每次循环至少可以确定一个点的最短路,循环 n 次,求出 n 个点的最短路 时间复杂…

vue2中如何使用事件总线完成任意组件间的通信

main.js Vue.prototype.$bus new Vue()demo01.vue: 发起事件 this.$bus.$emit("menuFold", menuFold)demo02.vue接收事件 ** 注意:接收事件需要写到created或者mounted里面 ** mounted() {this.$bus.$on("menuFold", (fold) > {console.…

《QT实用小工具·六十七》QTabWidget实现的炫酷标签工具栏

1、概述 源码放在文章末尾 该项目基于QTabWidget和QTabBar实现了灵活的标签工具栏,主要包含如下功能: 1、标签栏可以收起,可以展开 2、可以在标签栏中添加新的标签界面 3、可以从标签工具栏中把界面拖出来,也可以拖回去 4、关闭拖…

源码解析之p-limit(限制异步任务并发数量)

p-limit是一个用于限制异步任务并发数量的javascript库,可以有效地管理资源并避免系统负载过高 简单使用如下: import pLimit from "p-limit"// 限制并发数量为2 const limit pLimit(2)const delay (ms) > {return new Promise(resolve…