LeetCode 226. 翻转二叉树

2023-10-29

题目链接:https://leetcode-cn.com/problems/invert-binary-tree/

先序遍历,Java 代码:

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null)   return root;

        TreeNode tmp = root.left;
        root.left = root.right;
        root.right = tmp;

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

        return root;
    }
}

后序遍历,Java 代码:

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null)   return root;

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

        TreeNode tmp = root.left;
        root.left = root.right;
        root.right = tmp;

        return root;
    }
}

中序遍历,Java 代码:

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null)   return root;

        invertTree(root.left);

        TreeNode tmp = root.left;
        root.left = root.right;
        root.right = tmp;

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

层次遍历,Java 代码:

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null)   return root;

        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);

        while (!queue.isEmpty()) {
            TreeNode node = queue.poll();

            TreeNode tmp = node.left;
            node.left = node.right;
            node.right = tmp;

            if (node.left != null) {
                queue.offer(node.left);
            }

            if (node.right != null) {
                queue.offer(node.right);
            }
        }

        return root;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode 226. 翻转二叉树 的相关文章

随机推荐

  • vad算法 c语言,腾讯视频cKey算法

    接口地址 https vd l qq com proxyhttp 接口参数示例 buid vinfoad adparam pf in ad type LD KB PVL pf ex pc url https v qq com x cover
  • python语言基本控制结构程序异常_Python学习笔记整理(十七)异常处理

    一 异常基础 try except 捕捉由代码中的异常并恢复 匹配except里面的错误 并自行except中定义的代码 后继续执行程序 发生异常后 由except捕捉到异常后 不会中断程序 继续执行try语句后面的程序 try final
  • spark高级数据分析系列之第三章音乐推荐和 Audioscrobbler 数据集

    3 1数据集和整体思路 数据集 本章实现的是歌曲推荐 使用的是ALS算法 ALS是spark mllib中唯一的推荐算法 因为只有ALS算法可以进行并行运算 使用数据集在这里 里面包含该三个文件 表一 user artist data tx
  • Basic Level 1017 A除以B (20分)

    题目 本题要求计算 A B A B A B 其中 A A A是不超过1000位的正整数
  • RabbitMQ高级特性-Confirm确认消息

    Confirm确认消息 消息的确认 是指生产者投递消息后 如果Broker收到消息 则会给我们产生一个应答 生产者进行接收应答 用来确定这条消息是否正常发送到Broker 这种方式也是消息的可靠性投递的核心保障 如何实现Confirm确认消
  • 实战二十二:pytorch transformer 时间序列预测 多变量输入 单变量输出 完整代码数据 可直接运行

    代码演示视频 完整代码 pip install openpyxl i https pypi tuna tsinghua edu cn simple pip install optuna i https pypi tuna tsinghua
  • 电脑端teams一直在线小程序,简单好用易上手

    居家办公的你 会不会想要摸鱼 会不会想要下楼拿快递 会不会想要出去下馆子 然而 teams的5分钟不操作电脑状态就变为离开大大的阻挡了你幸福生活的脚步 不用担心 我来帮助你 只要用了这个脚本 24小时在线都没问题 老板看了直呼靠谱 心动不如
  • Java SpringBoot Spring Cloud 文件上传下载(图片文档上传下载) 以及上传下载文件大小限制.java

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 使用步骤 1 addpicture MultipartFile file 方法 2 download String fileName HttpServle
  • 软考-架构篇-软件架构风格

    概述 软件架构风格分类 数据流风格 批处理序列 管道 过滤器 对比 调用 返回风格 主程序 子程序 面向对象风格 层次结构风格 独立构件风格 虚拟机风格 仓库风格 概述 软件架构设计的一个核心问题是 能否使用重复的软件架构模式 即能否达到架
  • ubuntu16.04升级cmake

    好文章值得分享 https zhuanlan zhihu com p 93480024
  • Vue Cli 4x 新建初始化项目

    vue cli 最新版本已经出到 4 5 8 了 以往的一些配置 命令可能都不一样了 最新的vue 项目创建不是以往的 vue init webpack 这样很可能会一直卡死 所以多看官方文档是很重要的 那么我们废话不多说 开始教大家新建项
  • 业务系统故障率居高不下:有哪些非常有效的治理大招?

    一分钟精华速览 聊稳定性治理的文章很多 但面对系统的 各类疾病 到底该从哪里着手才能立竿见影 怎么才能 药到病除 相信在看这个问题时 大家会抱着 能不能学两招回去用 的心态阅读 TakinTalks论道系列 第3期 我们采访了4位资深从业人
  • A Magic Lamp 【HDU - 3183】【线段树区间最小值】

    题目链接 简单而言 这道题就是RMQ问题 但是我个人更喜欢用线段树来写区间最大值 因为这样子会好更新些 奈何这道题不需要更新 我们要从长度为N的字符串中删除M个元素 那么岂不是只剩下 N M 个字符串的长度 所以 我们不妨来找 N M 的长
  • C++预处理详解

    本文在参考ISO IEC 14882 2003和cppreference com的C Preprocessor的基础上 对C 预处理做一个全面的总结讲解 如果没有特殊说明 所列内容均依据C 98标准 而非特定平台相关 如VC 的 C 11新
  • 求两条轨迹间的hausdorff距离_轨迹数据压缩的DouglasPeucker算法

    点击蓝字关注我们 交通数据中会有很多的轨迹数据 轨迹数据一般是按秒采集 所以轨迹数据的量都是很大的 但是在进行数据分析时 轨迹数据量太大会影响运算效率 而且很多轨迹点是没有必要分析的 所以需要对数据进行压缩 轨迹数据压缩技术的主要目标是在不
  • open-api 算法实现

    要求 推荐在openEuler中实现 参考https www cnblogs com rocedu p 6012545 html第三节 提交相关代码码云 或github 链接 我使用博客园 提交不少于6张编译测试过程截图 至少包含SM4 S
  • 在C++中子类继承和调用父类的构造函数方法

    构造方法用来初始化类的对象 与父类的其它成员不同 它不能被子类继承 子类可以继承父类所有的成员变量和成员方法 但不继承父类的构造方法 因此 在创建子类对象时 为了初始化从父类继承来的数据成员 系统需要调用其父类的构造方法 如果没有显式的构造
  • 架构知识体系

    架构安全 对已知问题有有效的解决方案 对未知 潜在问题建立发现和防御机制 对于安全问题 首先要提高安全意识 建立一个安全的有效机制 从政策层面 组织层面进行保障 比如服务器密码不能泄露 密码每月更新 并且三次内不能重复 每周安全扫描等 以制
  • Gradle Springboot Web热部署的设置

    前言 在我们平时开发当中 需要实时的要查看我们的编码效果 这个时候如果我们设置了热部署 就免去了我们频繁的重启本地项目 热部署我们需要用到spring boot devtools这个组件 这里我们采用的gradle来管理项目 所以采用的ma
  • LeetCode 226. 翻转二叉树

    题目链接 https leetcode cn com problems invert binary tree 先序遍历 Java 代码 class Solution public TreeNode invertTree TreeNode r