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

python-leetcode-叶子相似的树

872. 叶子相似的树 - 力扣(LeetCode)

下面是一个完整的 Python 函数,接收两个二叉树的根节点 root1root2,返回它们是否叶相似。

代码实现

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

def leafSimilar(root1, root2):
    def getLeafSequence(root):
        leaf_values = []
        def dfs(node):
            if not node:
                return
            if not node.left and not node.right:  # 叶子节点
                leaf_values.append(node.val)
            dfs(node.left)
            dfs(node.right)
        dfs(root)
        return leaf_values
    
    return getLeafSequence(root1) == getLeafSequence(root2)

函数说明

  • leafSimilar(root1, root2):
    • 通过 getLeafSequence(root) 获取两棵树的叶子序列。
    • 比较两个序列是否相同,并返回 TrueFalse

这个函数直接传入两个二叉树的根节点即可判断它们是否叶相似。

http://www.dtcms.com/a/66602.html

相关文章:

  • 【MySQL】MySQL是如何传输数据的?
  • day3
  • 算法手记3
  • 人工智能与我何干
  • MinIO问题总结(持续更新)
  • VMware虚拟机网络连接模式介绍以及nat模式访问公网实践
  • AI短视频流量获取方法(一)
  • 【HarmonyOS NEXT】获取组件宽高和在屏幕上的位置
  • 【AI】从头到脚详解如何创建部署Azure Web App的OpenAI项目
  • 工程化与框架系列(30)--前端日志系统实现
  • IDEA软件安装环境配置中文插件
  • 解锁MATLAB语言:从入门到实战的编程秘籍
  • 版本控制器Git(4)
  • flutter EventBus 的使用介绍
  • C语言——变量与常量
  • 搭建活动报名新神器
  • 54.HarmonyOS NEXT 登录模块开发教程(八):测试与调试技巧
  • 【高级篇】DeepSeek V3 vs R1架构拆解:MoE万亿参数与纯RL训练的秘密战争
  • shell --getopts
  • 分布式事务的产生背景及理论指导
  • 如何在Ubuntu上构建编译LLVM和ISPC,以及Ubuntu上ISPC的使用方法
  • Java基础:枚举类enum入门案例
  • 深入浅出C++ STL:统领STL全局
  • RGV调度算法(三)--遗传算法
  • 响应式数据和双向绑定关系
  • 监控快手关注列表更新以及去视频水印视频
  • qt 自带虚拟键盘的编译使用记录
  • Unity 使UI始终朝向摄像机
  • Operator <=> (spaceship operator)
  • AI赋能办公效率的革命(以DeepSeek为例)