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

【leetcode】226. 翻转二叉树

翻转二叉树

    • 题目
    • 题解
    • 解释

题目

226. 翻转二叉树

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

在这里插入图片描述

题解

思路:递归

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def invertTree(self, root):""":type root: Optional[TreeNode]:rtype: Optional[TreeNode]"""if not root:returnleft = self.invertTree(root.left)right = self.invertTree(root.right)root.left, root.right = right, leftreturn root

解释

假设有一个二叉树,如下所示:

    1/ \2   3/ \ 
4   5

步骤 1: 反转根节点
从根节点 1 开始,我们需要交换 1 的左子树和右子树。

左子树是 2,右子树是 3,所以交换后变成:

    1/ \3   2/ \4   5

步骤 2: 递归反转左右子树
接下来,我们递归地对左右子树进行反转。

先对右子树(节点 3)递归反转。节点 3 没有子树,所以直接返回,结果是 3。

然后对左子树(节点 2)递归反转。节点 2 的左子树是 4,右子树是 5,交换后:

    2/ \5   4

步骤 3: 完整的反转结果
最后,返回到根节点,继续处理已经反转的子树。最终反转后的二叉树是:

    1/ \3   2/ \5   4

相关文章:

  • 一分钟了解MCP
  • 无人机安防系统是什么?主流无人机安防平台有哪些?
  • iOS App上线前的安全防线:项目后期如何用Ipa Guard与其他工具完成高效混淆部署
  • @RequestBody和@ResponseBody注解的作用是什么
  • 告别手动做PPT!4款AI工具实现自动化生成
  • 使用 VLC Media Player 轻松提取视频中的音频文件
  • Python 实现 Web 请求与响应
  • AI 工具打造专业级 PPT 配图:从文字到视觉的高效转化指南
  • 关键领域软件测试新范式:如何在安全合规前提下提升效率?
  • 岗位竞聘竞选报告个人简历PPT模版分享
  • xhtml2pdf中文屏幕溢出问题
  • 【数据传输常用命令】:服务器与本地之间的数据传输
  • 服务器-客户端下kafka的消息处理流程
  • SpreadJS 中 HTML Canvas 的性能优势深度解析
  • 基于 Nginx 服务器的泛域名 SSL 证书申请与部署
  • 自建RustDesk服务器
  • 基于YOLOv11与单目测距的实战教程:从目标检测到距离估算
  • Java反射机制深度解析与实战应用
  • Linux中升级或者切换python版本
  • 数据集-目标检测系列- 孔雀 数据集 peacock >> DataBall
  • 小说阅读网站开发论文/网络推广违法吗
  • 美食网站怎样做蛋挞/百度一下网址是多少
  • 响应式网站做seo怎么样/给你一个网站怎么优化
  • 长沙的在线商城网站建设/经典品牌推广文案
  • 哈尔滨松北区建设局网站/宁波seo推广优化公司
  • 网站不用域名可以吗/潍坊seo建站