当前位置: 首页 > 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(三):梯度下降法
  • TCL科技一季度净利增超三倍,去年半导体显示业务营收创新高
  • 江西省公安厅警务保障部原主任辛卫平主动交代问题,正接受审查调查
  • 习近平就伊朗发生严重爆炸事件向伊朗总统佩泽希齐扬致慰问电
  • 电话费被私改成48元套餐长达数年,投诉后移动公司退补600元话费
  • 王毅:为改革完善全球治理作出金砖贡献
  • 论法的精神︱张玉敏:知识产权保护要为社会经济文化发展服务