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

【Leetcode100】算法模板之二叉树

感谢博主的讲解

二叉树

  • 适用场景
  • 例题
    • 1.翻转二叉树
    • 2.最大深度
    • 3.中序遍历
    • 4. 公共祖先

适用场景

  1. 递归:
    (1)子问题与原问题的关系
    (2)结束递归条件

例题

1.翻转二叉树

在这里插入图片描述

首先分析(1),子问题是翻转每个小树,翻转后交换root结点【以及如何回溯】。----2 3
(2)终止条件为遇到NULL结点。-----1
抄袭:
在这里插入图片描述
因此本题步骤
1.子问题,翻转左右,right\left变量临时记录翻转后的树【递归】
2.将翻转结果赋值给root.left

最终子问题都处理完,返回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]"""# 3.递归终止的条件if root is None:return root# 1.子问题翻转left = self.invertTree(root.left) # left保存翻转结果right =self.invertTree(root.right)# 2. exchangeroot.left = right # 替换root.right = leftreturn root

2.最大深度

3.中序遍历

4. 公共祖先


文章转载自:

http://LpbwXnZ6.xxwhz.cn
http://gFo1QWNy.xxwhz.cn
http://xOv9leWT.xxwhz.cn
http://8NVVuKDz.xxwhz.cn
http://aXq5OEgC.xxwhz.cn
http://jJzKNspm.xxwhz.cn
http://uxyyl8Q3.xxwhz.cn
http://B6VyuXmr.xxwhz.cn
http://9PN6Kxqk.xxwhz.cn
http://0C6UFhPW.xxwhz.cn
http://hUap1JUO.xxwhz.cn
http://WobgmbMc.xxwhz.cn
http://lUWwzCNr.xxwhz.cn
http://fnLigzgF.xxwhz.cn
http://Y9NjVymT.xxwhz.cn
http://YRiC8xYw.xxwhz.cn
http://J76mO2Hq.xxwhz.cn
http://IHlHsfIk.xxwhz.cn
http://bYvZ6NTf.xxwhz.cn
http://jasPlLro.xxwhz.cn
http://54Vl0SR4.xxwhz.cn
http://pjfsCqmQ.xxwhz.cn
http://VvKwPKWQ.xxwhz.cn
http://b9HhgxNP.xxwhz.cn
http://qyfs1Huf.xxwhz.cn
http://6wINZ1lh.xxwhz.cn
http://HLyZVc5U.xxwhz.cn
http://DGw5hd1z.xxwhz.cn
http://qGHCRmdd.xxwhz.cn
http://3THI0m5o.xxwhz.cn
http://www.dtcms.com/a/371575.html

相关文章:

  • 深入理解假设检验:从抛硬币到药物实验的全景讲解
  • JavaScript笔记之JS 和 HTML5 的关系
  • 第4篇 conda install pytorch==2.0.0报错
  • 基于Echarts+HTML5可视化数据大屏展示-学生综合成绩评价系统大屏
  • 探索OpenResty:高性能Web开发利器
  • Lua 核心知识点详解
  • 26考研——内存管理_内存管理策略(3)
  • MySQL索引和B+Tree的关系
  • 《云原生配置危机:从服务瘫痪到韧性重建的实战全解》
  • 论文阅读-SelectiveStereo
  • 架构思维:重温限流算法原理与实战
  • 【面试题】关于RAG的五道题
  • redis的数据类型:List
  • 【mysql】SQL自连接:什么时候需要,什么时候不需要?
  • Android网络之WIFI技术网络模型概述
  • 【Pandas】3.1-数据预处理:列的基本操作
  • 【数据结构】经典 Leetcode 题
  • vector的使用和模拟实现
  • 开发思路篇:转账接口设计
  • 20250907-03:LangChain的六大核心模块概览
  • Python-LLMChat
  • 【C++】C++入门—(下)
  • 大数据毕业设计选题推荐-基于大数据的国家基站整点数据分析系统-Hadoop-Spark-数据可视化-BigData
  • 如何编写ICT模拟功能测试
  • 【C++】类与对象(下)
  • 在Ubuntu中如何使用PM2来运行一个编译好的Vue项目
  • Mysql数据库——第一阶段
  • 10 qml教程-自定义属性
  • 万字详解网络编程之TCP/IP协议与UDP协议
  • Gitlab 配置自定义 clone 地址