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

代码随想录算法训练营第17天

104. 二叉树的最大深度

class Solution:def maxDepth(self, root: Optional[TreeNode]) -> int:if not root:return 0left = self.maxDepth(root.left)right = self.maxDepth(root.right)return 1+ max(left,right)

111. 二叉树的最小深度

class Solution:def maxDepth(self, root: Optional[TreeNode]) -> int:if not root:return 0left = self.maxDepth(root.left)right = self.maxDepth(root.right)return 1+ max(left,right)

222. 完全二叉树的节点个数

class Solution:def countNodes(self, root: Optional[TreeNode]) -> int:if not root:return 0left = self.countNodes(root.left)right = self.countNodes(root.right)return 1 +left + right

110. 平衡二叉树

class Solution:def countNodes(self, root: Optional[TreeNode]) -> int:if not root:return 0left = self.countNodes(root.left)right = self.countNodes(root.right)return 1 +left + right

257. 二叉树的所有路径

class Solution:def __init__(self):self.path = []self.result = []def binaryTreePaths(self, root: Optional[TreeNode]) -> List[str]:if not root:return def dfs(root):self.path.append(str(root.val))if not root.left and not root.right:self.result.append('->'.join(self.path[:]))if root.left:dfs(root.left)self.path = self.path[:-1]if root.right:dfs(root.right)self.path = self.path[:-1]dfs(root)return self.result

404. 左叶子之和

class Solution:def __init__(self):self.path = []self.result = []def binaryTreePaths(self, root: Optional[TreeNode]) -> List[str]:if not root:return def dfs(root):self.path.append(str(root.val))if not root.left and not root.right:self.result.append('->'.join(self.path[:]))if root.left:dfs(root.left)self.path = self.path[:-1]if root.right:dfs(root.right)self.path = self.path[:-1]dfs(root)return self.result

相关文章:

  • 运行yolo v8 YOLOv8-CPP-Inference C++部署遇到的问题
  • SQL Server ISO镜像文件安装
  • 【C++】类和对象(一)
  • 代理IP在游戏中的作用有哪些?
  • MyBaties-增删查改
  • MongoDB日期存储与查询、@Query、嵌套字段查询实战总结
  • 【ArcGIS微课1000例】0099:土地利用变化分析
  • 路飞项目--04
  • 防御保护笔记02
  • ID3算法 决策树学习 Python实现
  • 顺序表的奥秘:高效数据存储与检索
  • LLM之llm-viz:llm-viz(3D可视化GPT风格LLM)的简介、安装和使用方法、案例应用之详细攻略
  • 【leetcode】01背包总结
  • 这些好用小众的知识库软件,快收藏起来
  • docker镜像详解
  • 【347天】每日项目总结系列085(2018.01.18)
  • 10个最佳ES6特性 ES7与ES8的特性
  • 2017-08-04 前端日报
  • Apache Spark Streaming 使用实例
  • create-react-app项目添加less配置
  • CSS 提示工具(Tooltip)
  • DOM的那些事
  • ES2017异步函数现已正式可用
  • Fastjson的基本使用方法大全
  • JS 面试题总结
  • leetcode98. Validate Binary Search Tree
  • Nodejs和JavaWeb协助开发
  • Spring-boot 启动时碰到的错误
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • Vue2.0 实现互斥
  • vue的全局变量和全局拦截请求器
  • webpack入门学习手记(二)
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 服务器从安装到部署全过程(二)
  • 聚簇索引和非聚簇索引
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 移动端解决方案学习记录
  • 终端用户监控:真实用户监控还是模拟监控?
  • 你对linux中grep命令知道多少?
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ‌移动管家手机智能控制汽车系统
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • !!java web学习笔记(一到五)
  • #define 用法
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ${ }的特别功能
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (计算机网络)物理层
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四)React组件、useState、组件样式
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)德国人的记事本
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)