当前位置: 首页 > article >正文

【LeetCode: 226. 翻转二叉树 + 二叉树】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 二叉树
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 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

🌟 求解思路&实现代码&运行结果


⚡ 二叉树

🥦 求解思路
  1. 递归实现:通过递归遍历二叉树的每个节点,交换其左右子树。

  2. 终止条件:如果当前节点为空(root == null),则直接返回 null。

  3. 交换左右子树:

    • 递归翻转右子树,并将其作为当前节点的左子树。

    • 递归翻转左子树,并将其作为当前节点的右子树。

    • 返回根节点:最终返回翻转后的二叉树的根节点。

  4. 有了基本的思路,接下来我们就来通过代码来实现一下。

🥦 实现代码
/**
 * 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 null;
        TreeNode left = root.left;
        root.left = invertTree(root.right);
        root.right = invertTree(left);
        return root;
    }
}

🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述


http://www.kler.cn/a/509607.html

相关文章:

  • OpenHarmony 4.1 SDK11 北向应用开发笔记
  • dockerhub上一些镜像
  • Jenkins-基于Role的鉴权机制
  • HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (三、影视搜索页功能实现)
  • 【PCL】Segmentation 模块—— 欧几里得聚类提取(Euclidean Cluster Extraction)
  • c语言第一天
  • 若依入门使用
  • WEB攻防-通用漏洞_XSS跨站_绕过修复_http_only_CSP_标签符号
  • Redis的线程模型是什么
  • Qt QML专栏目录结构
  • 基于Python的心电图报告解析与心电吸引子绘制
  • 嵌入式工程师必学(7):SWD仿真接口(for ARM)的使用方法
  • wps数据分析000002
  • 密码机服务器在云计算中的应用与挑战
  • 【时时三省】(C语言基础)柔性数组
  • SAP 固定资产常用的数据表有哪些,他们是怎么记录数据的?
  • springCloudGateway+nacos自定义负载均衡-通过IP隔离开发环境
  • 【深度学习】Huber Loss详解
  • nuiapp在APP中的.nvue页面中使用webview展示空白的问题
  • 【HarmonyOS NAPI 深度探索7】N-API 数据处理:与 JavaScript 数据的交互
  • 【零基础入门unity游戏开发——unity3D篇】地形Terrain的使用介绍
  • Node.js卸载超详细步骤(附图文讲解)
  • 基于 HTML5 Canvas 制作一个精美的 2048 小游戏--day 1
  • python学opencv|读取图像(三十八 )阈值自适应处理
  • (三)线性代数之二阶和三阶行列式详解
  • Zilliz Cloud上新:容量提升3倍、享5折优惠,支持高精度搜索