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

算法训练第十五天

110.平衡二叉树

代码:

# 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 isBalanced(self, root: Optional[TreeNode]) -> bool:ans = [True]a = self.find(root,ans)return ans[0]def find(self,node,ans):if node is None:return 0left = self.find(node.left,ans)right = self.find(node.right,ans)if abs(left-right)>1:ans[0] = Falsereturn max(left,right)+1

257.二叉树的所有路径

代码:

# 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):import copydef binaryTreePaths(self, root):""":type root: Optional[TreeNode]:rtype: List[str]"""ans = []res = []self.find(root,res,ans)return ansdef find(self,node,res,ans):res.append(str(node.val))if node.left is None and node.right is None:ans.append(copy.deepcopy('->'.join(res)))res.pop()returnif node.left:self.find(node.left,res,ans)if node.right:self.find(node.right,res,ans)res.pop()

404.左叶子之和

代码:

# 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 sumOfLeftLeaves(self, root):""":type root: Optional[TreeNode]:rtype: int"""ans = []lf=Falseself.find(root,ans,lf)return sum(ans)def find(self,node,ans,lf):if node.left is None and node.right is None:if lf:ans.append(node.val)if node.left:self.find(node.left,ans,True)if node.right:self.find(node.right,ans,False)

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

代码:

# 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 countNodes(self, root):""":type root: Optional[TreeNode]:rtype: int"""ans = []self.find(root,ans)return len(ans)def find(self,node,ans):if node:ans.append(node.val)self.find(node.left,ans)self.find(node.right,ans)
http://www.dtcms.com/a/244387.html

相关文章:

  • Mybatis辅助配置-配置SQL提示
  • 【大模型开发应用】提示工程
  • ACS的ExtendedSegmentArc1 方法说明
  • el-select滚动分页加载、模糊搜索
  • Golang SSH握手过程中,报错跟客户端在算法签名上不匹配
  • 无IT审计经验,通过 CISA 考试
  • 打卡Day51
  • force命令的使用
  • 青藏高原地区多源融合降水数据(1998-2017)
  • 【Unity3D优化】优化多语言字体包大小
  • NuGet 从入门到精进全解析
  • Transformers KV Caching 图解
  • h5fortran 简介与使用指南
  • vue前端面试题——记录一次面试当中遇到的题(1)
  • 冒险岛的魔法果实-多重背包
  • 关于有害的过度使用 std::move
  • SCADA|测试KingSCADA4.0信创版采集汇川PLC AC810数据
  • python学习打卡day50
  • A. Dr. TC
  • RPG24.设置武器伤害(二):将效果应用于目标
  • RabbitMQ可靠和延迟队列
  • 接收rabbitmq消息
  • 中心化交易所(CEX)架构:高并发撮合引擎与合规安全体系
  • [蓝桥杯 2024 国 Python B] 设计
  • TripGenie:畅游济南旅行规划助手:个人工作纪实(二十四)
  • Arduino入门教程:1、Arduino硬件介绍
  • LAN、WAN、WLAN、VLAN 、VPN对比
  • Java异步编程深度解析:从基础到复杂场景的难题拆解
  • 动态多目标进化算法:VARE(Vector Autoregressive Evolution)求解DF1-DF14,提供完整MATLAB代码
  • [服务器] Amazon Lightsail SSH连接黑屏的常见原因及解决方案