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

代码随想录算法训练营day11(二叉树)

华子目录

  • 翻转二叉树
    • 思路
  • 对称二叉树
    • 思路
  • 二叉树的最大深度
    • 思路

翻转二叉树

  • https://leetcode.cn/problems/invert-binary-tree/description/

在这里插入图片描述

思路

  • 采用递归的思路
  • 可以前序遍历后序遍历,不能使用中序遍历
# 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 invert(self, cur):if not cur:return curcur.left, cur.right = cur.right, cur.left     # 中self.invert(cur.left)    # 左self.invert(cur.right)   # 右def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:self.invert(root)return root

对称二叉树

  • https://leetcode.cn/problems/symmetric-tree/description/

在这里插入图片描述

思路

  • 使用递归后序遍历
  • 判断一边的左孩子是否等于另一边的右孩子一边的右孩子是否等于另一边的左孩子
# 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 symmetric(self,left,right):if left and not right:return Falseelif not left and right:return Falseelif not left and not right:return Trueelif left.val != right.val:return Falseres1 = self.symmetric(left.left, right.right)res2 = self.symmetric(left.right, right.left)res = True if res1 and res2 else False   return resdef isSymmetric(self, root: Optional[TreeNode]) -> bool:if self.symmetric(root.left, root.right):return Trueelse:return False

二叉树的最大深度

  • https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/

在这里插入图片描述

思路

  • 使用递归
  • 后序遍历的思想
# 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 maxDepth(self, root: Optional[TreeNode]) -> int:height = 1cur = rootif not cur:return 0leftHeight = self.maxDepth(cur.left)    # 左rightHeight = self.maxDepth(cur.right)  # 右height = height + max(leftHeight, rightHeight)   # 中return height

相关文章:

  • openwrt查询网关的命令
  • Android 14 系统统一修改app启动时图标大小和圆角
  • 解锁Linux共享内存:进程间通信的超高速通道(转)
  • 今日行情明日机会——20250425
  • 什么是CN2专线?全面解析中国电信的高性能网络服务
  • Android Studio开发中Application和Activity生命周期详解
  • MySQL基础——聚合查询(全面解析)
  • 入侵检测系统(IDS)与入侵防御系统(IPS):功能对比与部署实践
  • Linux-06 ubuntu 系统截图软件使用简单记录
  • 大型工程里 AI 编码困境重重,未来如何破局?
  • CodeMeter Runtime 安装失败排查与解决指南
  • Operating System 实验二 内存管理实验
  • 华硕NUC产品闪耀第31届中国国际广播电视信息网络展览会
  • 打造高功率、高电流和高可靠性电路板的厚铜PCB生产
  • Unity Shader Properties详解
  • 项目实战-基于大数据分析的暖通系统改造模型【感谢Akila公司以及学院的支持】
  • 如何通过电路测量运放的增益带宽积(GBP)和压摆率(SR)
  • 深入 Vue 核心:通信、生命周期与 API 的全面解析
  • 在 Ubuntu 22.04|20.04|18.04 上安装 PostgreSQL 13
  • Pycharm(三):梯度下降法
  • 澎湃思想周报丨数字时代的育儿;凛冬已至好莱坞
  • 朝鲜证实出兵俄罗斯协助收复库尔斯克
  • 上海首个航空前置货站落户松江综合保税区,通关效率可提升30%
  • 葛兰西的三位一体:重提并复兴欧洲共产主义的平民圣人
  • 酒店保洁员调包住客港币,海南官方通报:成立调查组赴属地调查
  • 伊朗港口爆炸已造成281人受伤