【简单】226. 翻转二叉树

Oracle 常用语法汇总 CREATE TABLE 表名(COMMENT ON COLUMN 注释;-- 创建一个学生表STUDENT_ID NUMBER(10) PRIMARY KEY, -- 学生ID,主键FIRST_NAME VARCHAR2(50) NOT NULL, -- 学生名字,不允许为空LAST_NAME VARCHAR2(50) NOT NULL, -- 学生姓氏,不允许为空EMAIL VARCHAR2(100) UNIQUE, -- 学生电子邮箱,唯一。 阅读详情

【题目】
翻转一棵二叉树。
来源:leetcode
链接:https://leetcode-cn.com/problems/invert-binary-tree/
输入:
4
/
2 7
/ \ /
1 3 6 9
输出:
4
/
7 2
/ \ /
9 6 3 1
【代码】
后序:

class Solution {
public:
    //递归
    TreeNode* invertTree(TreeNode* root) {
        if(root==NULL)
            return NULL;
        invertTree(root->left);
        invertTree(root->right);
	swap(root->left,root->right)
        return root;
    }
};

深度优先

class Solution {
public:
    TreeNode* invertTree(TreeNode* root) {
        dfs(root);
        return root;
    }
    void dfs(TreeNode*root){
        if(root){
            swap(root->left,root->right);
            dfs(root->left);
            dfs(root->right);   }};
class Solution {
public:
    TreeNode* invertTree(TreeNode* root) {
        if(root==NULL)
            return NULL;
        TreeNode* r=invertTree(root->right);
        TreeNode* l=invertTree(root->left);
        root->left=r;
        root->right=l;
        return root;
    }
};

【栈】

class Solution {
public:
    //stack 先序
    TreeNode* invertTree(TreeNode* root) {
        stack<TreeNode*> s;
        s.push(root);
        TreeNode* t;
        while(!s.empty()){
            t=s.top();
            s.pop();
            if(t==NULL)
                continue;
            swap(t->left,t->right);
            s.push(t->left);
            s.push(t->right);
        }
        return root;
    }
};

【队列】

class Solution {
public:
    //queue 层次
    TreeNode* invertTree(TreeNode* root) {
        queue<TreeNode*> q;
        q.push(root);
        TreeNode* t;
        while(!q.empty()){
            t=q.front();
            q.pop();
            if(t==NULL)
                continue;
            swap(t->left,t->right);
            q.push(t->left);
            q.push(t->right);
        }
        return root;
    }
};
CSP-J2019普及组复赛T4:加工零件 CSP-J2020普及组复赛T1:优秀的拆分,广度优先遍历求最短路。 阅读详情

相关推荐

从逻辑门到存储阵列:NAND与NOR闪存命名与结构原理详解

在数字电路与半导体存储器领域,逻辑门是构建一切复杂功能的基础单元,其输入输出关系定义了计算与存储的基本原理。与非门(NAND)和或非门(NOR)作为通用逻辑门,其真值表和行为模式深刻影响了芯片设计。基于这些原理,现代闪存技术发展出了两种核心架构:NAND Flash和NOR Flash。这两种闪存的命名直接源于其内部存储单元阵列的连接方式,分别模拟了与非门和或非门的逻辑关系。这种结构差异决定了它们根本的技术价值:NOR Flash采用并联结构,支持快速随机读取,适用于代码存储与原地执行(XiP);而NAND

weixin_33377602的博客 346

二叉树的翻转

目录 一、题目 二、解题思路 1、二叉树翻转 2、具体步骤(迭代法) 三、代码实现 一、题目 1、leetcode链接:力扣 2、题目内容: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 二、解题思路 1、二叉树翻转 (1)就是将根节点和所有子节点的左右子树进行交换; (2)根节点:树的最顶端的节点,每颗树只有一个根节点; (..

weixin_50616848的博客 4948

不会写GLSL?用Cesium 1.120 + Heatmap.js 2.0.5也能搞定动态洪水模拟(附完整源码)

本文介绍了一种无需GLSL编程的3D洪水动态模拟方案,结合Cesium 1.120和Heatmap.js 2.0.5实现高效可视化。通过数据层、可视化层和集成层的技术降级方案,开发者可以快速构建专业级洪水演进效果,适用于应急管理、水利工程等场景。文章包含完整源码和性能优化技巧。

weixin_30329623的博客 523

【数据结构】翻转二叉树的三种方式

什么是反转二叉树 反转二叉树的实现方式 方式一:使用栈实现 方式二:使用堆实现 方式三:使用递归来实现

✈ 正在努力 の 寒江(StudiousTiger) ✌ 呐 ✈ 5273

保姆级教程:断网环境下用Flexnet服务器搞定SolidWorks 2021安装与破解(附错误5解决方案)

本文提供SolidWorks 2021在断网环境下的企业级部署指南,详细解析Flexnet服务器本地化工作原理,并给出安装与破解的实战方案,特别针对常见的'错误5'问题提供多维度解决方案。适用于需要内网隔离或移动办公的工业设计场景,确保数据安全与授权合规。

weixin_28683391的博客 302

Python爬虫:爬取拼多多平台商品信息、销量、价格等数据

在本篇博客中,我们将深入探讨如何使用Python爬虫技术爬取拼多多平台的商品信息,包括商品的标题、销量、价格等详细数据。拼多多的商品页面通常是分页展示的,因此我们需要遍历多个页面,获取所有商品的信息。每个商品在拼多多平台上都有一个唯一的商品ID,我们可以通过该ID访问商品页面。通过以上的技术方案和代码示例,你已经掌握了如何使用Python爬虫获取拼多多平台上的商品信息、销量、价格等数据。等技术,解决拼多多平台的反爬虫机制,成功抓取我们所需的商品数据。,我们能够应对拼多多的反爬虫机制,稳定地获取到商品数据。

2201_76125261的博客 3658

翻转二叉树(LeetCode 226)

二叉树翻转是一道经典的面试编程题,经常出现在各大公司的招聘笔试面试环节。这里还有个趣事,Homebrew的作者Max Howell某天去 Google 面试,面试官出了一道翻转二叉树的题目,然而 Max Howell 没答上来,结果被拒。面试官的评语是:“我们 90% 的工程师使用您编写的软件,但是您却无法在面试时在白板上写出翻转二叉树这道题,所以滚蛋吧”。可见,在求职面试过程中,即使你是一位优秀的程序员,如果答不上算法题,那么在算法方面的能力将被面试官认为是不及格的,甚至无法被聘用。

Doublelv 的博客专栏。 3223

v86.01 鸿蒙内核源码分析 (静态分配篇) | 很简单的一位小朋友 | 百篇博客分析 OpenHarmony 源码

相比动态分配,静态内存池的分配就是个小弟弟,非常的简单,两个结构体 + 一张图 就能说明白。

日拱一卒,力出一孔 775

【算法笔记】反转二叉树

反转二叉树问题 翻转一棵二叉树。 示例: 输入: 输出: 问题分析

weiwai的博客 3608

一、【vmware虚拟机使用】安装vmware workstations17

本文介绍了VMware Workstation 17的安装与网络配置方法。主要内容包括:通过下载安装包进行标准安装(含许可协议、路径选择等步骤);重点讲解了NAT模式下的网络配置,包括修改子网IP为192.168.2.0网段、设置网关地址和DHCP范围等操作,以避免与主机网络冲突。文章还简要说明了VMware的Hypervisor核心技术原理,包括CPU、内存和存储虚拟化。最后指出完成这些准备工作后,后续将进行CentOS7系统的安装。整个流程配有详细图文说明,适合初学者跟随操作。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 2753

RTA_OS基础功能讲解 2.6-资源锁和自旋锁

访问需要在任务和 ISR 之间共享的硬件或数据可能不可靠、不安全。这是因为当优先级较低的任务或 ISR 正在更新共享数据时,可能会发生任务或 ISR 抢占。这种情况被称为竞争条件,极难测试。访问共享数据的语句序列称为关键部分。要安全访问关键部分中引用的代码和数据,就需要执行互斥。换句话说,必须确保系统中没有其他任务或第 2 类 ISR 能够在关键部分期间抢占正在执行的任务。你可以将任务声明为非抢占式任务,这样就可以避免互斥问题。

本博客专注于嵌入式软件领域技术分享。 291

一文详解反转二叉树

反转二叉树

abc123mma的博客 1226

40、5G NR射频要求解析

本文详细解析了5G NR射频相关要求,包括参考灵敏度与动态范围的定义、接收机对干扰信号的抗扰性要求(如阻塞、邻道选择性等)、辐射射频要求在FR1和FR2频段的差异,以及多标准无线电基站(MSR)的发展及其对射频要求的影响。内容涵盖测试模型、干扰场景、具体指标和实现挑战,为理解和应用5G NR射频规范提供了全面指导。

qsc901234的博客 246

LeetCode 226.翻转二叉树-简单

LeetCode 226.翻转二叉树-简单1.题目2.解题方法一:递归 1.题目 翻转一棵二叉树。 示例 输入       4      / \    2   7   / \   / \ 1  3  6  9 输出 &nb...

zhangyifeng_1995的博客 259

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

leetcode【二叉树—简单】 226.翻转二叉树

翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 备注: 这个问题是受到 Max Howell 的 原问题 启发的 : 谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。

每个人都是独一无二的,把握好自己的节奏,跟着自己的心走。 2227

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【226. 翻转二叉树 简单】

针对二叉树的问题,解题之前一定要想清楚究竟是前中后序遍历,还是层序遍历。二叉树解题的大忌就是自己稀里糊涂的过了(因为这道题相对简单),但是也不知道自己是怎么遍历的。这也是造成了二叉树的题目“一看就会,一写就废”的原因。

yuan_2001_的博客 433

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

简单- LeetCode 226. 翻转二叉树

题目 来源: 翻转二叉树 翻转一棵二叉树。 示例 解题思路及代码 1. 思路 递归的交换每个结点的左右子结点即可。 2.代码 var invertTree = function(root) { if (root == null) { return null; } var temp = root.right; root.right =root.left; ...

weixin_43912756的博客 251

LeetCode 226 翻转二叉树(简单)

翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 思路与代码 递归 // 前序遍历版 从上往下交换 class Solution { public TreeNode invertTree(TreeNode root) { if (root == null) return null;

嗷嗷嗷嗷的博客 176

226. 翻转二叉树 简单 递归

翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root = [2,1,3] 输出:[2,3,1] 示例 3: 输入:root = [] 输出:[] 提示: 树中节点数目范围在 [0, 100] 内 -100 <= Node.val <= 100 /** * Definition for a binary tree node. * pu.

wow_awsl_qwq的博客 212

【二叉树】Leetcode 226. 翻转二叉树【简单】

二叉树翻转操作是指将二叉树中每个节点的左右子树进行交换。给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]

FLGB 431

【简单】力扣算法题解析LeetCode226:翻转二叉树

题目要求翻转二叉树,即交换每个节点的左右子树。核心思路是递归或迭代遍历树节点并交换左右子树。递归法简洁高效,时间复杂度O(n),空间复杂度O(h);迭代法使用队列层序遍历,空间复杂度O(w)。本文选用递归法,Java实现通过交换子树并递归处理左右节点完成翻转。

ylumwd的博客 649

【LeetCode每日一题】[简单]226. 翻转二叉树

【LeetCode每日一题】226. 翻转二叉树 226. 翻转二叉树 题目来源link 算法思想:递归;树; java代码

qq_39457586的博客 146

Leetcode—226.翻转二叉树【简单】

运行结果 之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

Atticus的博客 518

【LeetCode】第226题——翻转二叉树(难度:简单)

【LeetCode】第226题——翻转二叉树(难度:简单)题目描述解题思路代码详解注意点 题目描述 翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 备注: 这个问题是受到 Max Howell 的原问题启发的 : 谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这

Se7en_Dayz的博客 288

226. 翻转二叉树【简单】【树】【递归】

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例 1:输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2:输入:root = [2,1,3] 输出:[2,3,1] 示例 3:输入:root = [] 输出:[] 提示:树中节点数目范围在 [0, 100] 内 -100 ...

pre_eminent的JAVA学习园地 535

LeetCode_二叉树_简单_226.翻转二叉树

目录1.题目2.思路3.代码实现(Java) 1.题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root = [2,1,3] 输出:[2,3,1] 示例 3: 输入:root = [] 输出:[] 提示: 树中节点数目范围在 [0, 100] 内 -100 <= Node.val <= 100 来源:力扣(LeetCode) 链接:https:

代码星辰的博客 1194
上一篇: 【简单】面试题24. 反转链表
下一篇: 【简单】1323. 6 和 9 组成的最大数字
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值