news 2026/8/25 6:05:00

LeetCode 226. 翻转二叉树|Python 解法详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 226. 翻转二叉树|Python 解法详解

LeetCode 226. 翻转二叉树|Python 解法详解

CSDN 算法专题 · 二叉树 | 难度:简单

题目信息

  • 题号:226
  • 难度:简单
  • LeetCode:题目链接

题目描述

交换二叉树中每个节点的左右子树,返回翻转后的根节点。

示例

输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]

约束

节点数不超过 100。

解题思路

核心观察

每个节点都执行同一操作:交换左右孩子,再递归处理交换后的两棵子树。空节点是递归边界。前序或后序实现都可以。

推导与执行步骤

  1. 空节点返回 None
  2. 交换当前节点左右孩子
  3. 递归翻转左右子树
  4. 返回当前节点

为什么这个方法正确

算法始终围绕上述核心观察维护有效状态,并且每一步只排除已经能够证明不可能产生更优答案的情况。按照执行步骤处理后,所有可能影响答案的元素或节点都会被恰好检查,因此不会遗漏合法答案;状态更新又严格遵守题目约束,所以最终结果有效。

从边界看,空区间、单个元素、全部相同或完全不匹配等情况都会落入初始化条件或循环终止条件,不需要依赖未定义状态。实现时再重点检查下标、空节点和重复元素,即可保证算法在极端输入下仍然成立。

Python 代码

# 解法核心:每个节点都执行同一操作:交换左右孩子,再递归处理交换后的两棵子树。空节点是递归边界。前序或后序实现都可以。# 实现步骤:# 1. 空节点返回 None# 2. 交换当前节点左右孩子# 3. 递归翻转左右子树# 4. 返回当前节点fromtypingimportOptionalclassTreeNode:def__init__(self,val=0,left=None,right=None):self.val=val self.left=left self.right=rightclassSolution:definvertTree(self,root:Optional[TreeNode])->Optional[TreeNode]:ifnotroot:returnNone(root.left,root.right)=(root.right,root.left)self.invertTree(root.left)self.invertTree(root.right)returnroot

复杂度分析

  • 时间复杂度:O(n)
  • 空间复杂度:O(h)

易错点

交换后递归的对象已经互换,但只要两边都处理就不会遗漏。

总结

这道题的关键是:每个节点都执行同一操作:交换左右孩子,再递归处理交换后的两棵子树。理解这一点后,再结合边界条件检查,代码就能保持清晰且稳定。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 6:04:52

极狐GitLab Runner 自托管安全加固指南

在私有化部署场景中,极狐GitLab Runner 是 CI/CD 流水线真正执行构建、测试与部署任务的节点。它运行的是来自项目仓库的脚本,本质上提供的是远程代码执行能力。如果 Runner 主机暴露在共享网络中、使用高权限执行器,或者复用同一套环境处理多…

作者头像 李华
网站建设 2026/8/25 6:02:12

RACE:基于多源证据锚定的智能体化商品目录增强方案

RACE:基于多源证据锚定的智能体化商品目录增强方案论文原信息:arXiv:2608.20844v1摘要 商品目录是电商平台搜索、商品发现与推荐系统的底层基础,但电商目录普遍存在属性稀疏问题:消费者与下游系统依赖的商品属性要么埋藏在标题、图…

作者头像 李华
网站建设 2026/8/25 6:00:47

SSL证书有效期缩短背后的原因及影响

近几年,互联网安全行业迎来一项重要变革,全球SSL证书有效期正在持续、大幅缩短。从曾经的最长8年、1年有效期,逐步迭代至398天、199天,根据CA/B论坛官方规划,后续还将持续压缩至100天,最终在2029年落地47天…

作者头像 李华
网站建设 2026/8/25 5:58:46

利用腾讯云API网关与免费Token,构建WorkBuddy可控AI办公自动化服务

最近在折腾 AI 自动化办公工具时,我发现了一个很有意思的现象:很多朋友把 WorkBuddy 这类工具装好,跑通一两个示例,就以为万事大吉了。但真到了想把 DeepSeek 这类大模型无缝集成进去,实现一些复杂的、定制化的办公流程…

作者头像 李华
网站建设 2026/8/25 5:55:36

OpenClaw集成Grsai AI API:实现RPA流程智能化的完整配置指南

1. 项目缘起:当OpenClaw遇上第三方AI能力最近在折腾一个自动化流程,核心是OpenClaw这个开源RPA(机器人流程自动化)工具。它的本地化部署和强大的Web抓取、桌面自动化能力,让我在处理一些重复性网页操作和数据采集任务时…

作者头像 李华
网站建设 2026/8/25 5:54:50

LLM+知识图谱:从240篇技术文档中挖掘515条隐藏关联的实践

1. 项目缘起:当240篇文档变成一座信息孤岛最近接手了一个挺有意思的内部项目,团队在过去一年半里,围绕着某个核心业务方向,零零散散地写了240多篇技术文档、会议纪要和问题复盘报告。这些文档散落在Confluence、GitHub Wiki和一堆…

作者头像 李华