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

力扣热题100之翻转二叉树

题目

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。
在这里插入图片描述

代码

方法一:递归

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:if not root:return        cur=self.invertTree(root.left)root.left=self.invertTree(root.right)root.right=curreturn root 

方法二:栈迭代

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:if not root:return        stack=[root]while stack:node=stack.pop()if node:stack.append(node.left)stack.append(node.right)node.left,node.right=node.right,node.leftreturn root

方法三:队迭代

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:if not root:return        queue=deque([root])while queue:for _ in range(len(queue)):node=queue.popleft()if node.left:queue.append(node.left)if node.right:queue.append(node.right)node.left,node.right=node.right,node.leftreturn root

这道题的方法和求二叉树的深度方法一致

相关文章:

  • 26考研——文件管理_文件目录(4)
  • 电机驱动器辐射骚扰整改
  • 关于用Cloudflare的Zero Trust实现绕过备案访问国内站点说明
  • HackMyVM-Ephemeral3
  • 考研系列—操作系统:第三章、内存管理(part.2)
  • AI书签管理工具开发全记录(八):Ai创建书签功能实现
  • MySQL事务与锁机制详解:确保数据一致性的关键【MySQL系列】
  • PostIn入门教程 - 使用IDEA插件快速生成API接口定义
  • Halcon
  • 力扣HOT100之动态规划:139. 单词拆分
  • 牛客周赛94
  • 极智项目 | 多模态大模型推理平台-Streamlit版(支持Qwen2.5/InternVL3/KimiVL三大模型)
  • 【CBAP50技术手册】#31 Observation(观察法):BA(业务分析师)的“现场侦探术”
  • 浮点数舍入规则_编程语言对比
  • CTFHub-RCE 命令注入-过滤运算符
  • [SC]SystemC在CPU/GPU验证中的应用(二)
  • R语言错误处理方法大全
  • CRISPR-Cas系统的小型化研究进展-文献精读137
  • python打卡day41
  • vue2源码解析——响应式原理
  • 网站建设属于什么领域/广告投放的方式有哪些
  • python开发动态网站开发/百度地图排名可以优化吗
  • 沈阳网站建设推广/seo搜索优化服务
  • 在什么网站可以接活做/新冠病毒最新消息
  • 海口h5公司/宁波seo外包服务商
  • 网站营销推广计划/怎么在网上推广广告