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

剑指Offer-- 树的子结构

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

递归python版:

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    def HasSubtree(self, pRoot1, pRoot2):
        # write code here
        if pRoot1 is None or pRoot2 is None:
            return False
         
        cur1 = pRoot1
        cur2 = pRoot2
        res = False
        if cur1.val == cur2.val:
            res = self.istree1hastree2(cur1,cur2)
        if not res:
            res = self.HasSubtree(cur1.left, cur2)
        if not res:
            res = self.HasSubtree(cur1.right, cur2)
        return res
    def istree1hastree2(self, tree1, tree2):
        if tree2 is None:
            return True
        if tree1 is None:
            return False
        res1 = False
        res2 = False
        if tree1.val == tree2.val:
            res1 = self.istree1hastree2(tree1.left,tree2.left)
            res2 = self.istree1hastree2(tree1.right,tree2.right)
        return (res1 and res2)
    
    
        

 

转载于:https://www.cnblogs.com/simplepaul/p/7025991.html

相关文章:

  • 基于SVD实现PCA的图像识别
  • zw·准专利·高保真二值图细部切分算法
  • [ IOS ] iOS-控制器View的创建和生命周期
  • 使用Java对文件进行解压缩
  • 《自信力~成为更好的自己》晨读笔记
  • Spring aop:decare-parent 为类增加新的方法
  • 在resin配置參数实现JConsole远程监控JVM
  • 同样加班 不同收获(转)
  • 使用Java语言开发微信公众平台(八)——自定义菜单功能
  • SPRING-MVC 访问静态资源
  • IE6下position:fixed不支持问题及其解决方式
  • Erlang库 -- 有意思的库汇总
  • 《大数据算法》一2.3 时间亚线性判定算法概述
  • 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
  • Setfocus - IE 需要使用setTimeout
  • 分享一款快速APP功能测试工具
  • 10个确保微服务与容器安全的最佳实践
  • co模块的前端实现
  • Docker下部署自己的LNMP工作环境
  • ES10 特性的完整指南
  • github从入门到放弃(1)
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript设计模式之工厂模式
  • Java反射-动态类加载和重新加载
  • JDK9: 集成 Jshell 和 Maven 项目.
  • JSDuck 与 AngularJS 融合技巧
  • laravel with 查询列表限制条数
  • Less 日常用法
  • Making An Indicator With Pure CSS
  • mysql 数据库四种事务隔离级别
  • mysql中InnoDB引擎中页的概念
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • python学习笔记 - ThreadLocal
  • SOFAMosn配置模型
  • underscore源码剖析之整体架构
  • vue中实现单选
  • 创建一个Struts2项目maven 方式
  • 翻译:Hystrix - How To Use
  • 检测对象或数组
  • 浅谈web中前端模板引擎的使用
  • 少走弯路,给Java 1~5 年程序员的建议
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 我的zsh配置, 2019最新方案
  • 学习ES6 变量的解构赋值
  • 7行Python代码的人脸识别
  • kubernetes资源对象--ingress
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #ifdef 的技巧用法
  • #include<初见C语言之指针(5)>
  • #pragma multi_compile #pragma shader_feature
  • (4)logging(日志模块)
  • (分布式缓存)Redis哨兵
  • (论文阅读40-45)图像描述1