【剑指Offer】18树的子结构
题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
时间限制:1秒;空间限制:32768K
解题思路
解题思路分为两步,主要用到了递归的方法。第一步先遍历树A,找到和树B根节点值相同的节点A';第二步判断以A'为根节点的子树中是否包含树B。
# -*- 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 hereresult = Falseif pRoot1!=None and pRoot2!=None:if pRoot1.val == pRoot2.val:result = self.iscomprise(pRoot1,pRoot2) #不写self.会报错if result != True:result = self.HasSubtree(pRoot1.left,pRoot2)if result != True:result = self.HasSubtree(pRoot1.right,pRoot2)return resultdef iscomprise(self, pRoot1, pRoot2):if pRoot2 == None:return Trueif pRoot1 == None:return Falseif pRoot1.val == pRoot2.val:return self.iscomprise(pRoot1.left, pRoot2.left) and self.iscomprise(pRoot1.right, pRoot2.right)
转载于:https://www.cnblogs.com/yucen/p/9912042.html
【剑指Offer】18树的子结构相关推荐
- 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)
本题来自左神<程序员代码面试指南>"判断 t1 树是否包含t2 树全部的拓扑结构"题目. 题目 剑指 Offer 26. 树的子结构 给定彼此独立的两棵树头节点分别为 ...
- 【LeetCode】剑指 Offer 26. 树的子结构
[LeetCode]剑指 Offer 26. 树的子结构 文章目录 [LeetCode]剑指 Offer 26. 树的子结构 package offer;//定义树节点 class TreeNode{ ...
- 剑指offer:树的子结构
题目 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 暴力做法 取出树A/B的前序.中序: 判断这两个数组是否A都包含B,是则true. 前序和中 ...
- 《剑指offer》-- 树的子结构、二叉树的镜像、二叉树的深度、平衡二叉树
一. 树的子结构: 1.题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构. 2.解题思路: 这个题比较简单,利用递归的方式就可以判断B是不是A树的子结构 ...
- 【无取巧解法,易于理解!】剑指 Offer 26. 树的子结构
看题解时,很多大牛用很少的代码就完成了AC,但可能看了很多遍也看不懂,因此萌生了写一种最"笨"最完整的代码的想法,这样大家可以通过我的代码入门,看懂了再去挑战大牛们的简洁解法. 输 ...
- 剑指offer之树的子结构
1 题目 输入两颗二叉树A和B,判断B是不是A的子结构(B树是A树的子结构) 比如: 2 树A 3 5 树B 5 ...
- 剑指offer——判断树的子结构
题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) https://www.nowcoder.com/practice/6e196c44c7004d ...
- 剑指offer——26.树的子结构(不太熟)
题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 知识点: 无 注意: 注意想法的递归实现(好好琢磨一下,不然可能会忘!) 代码实现: 具体实现分两步 ...
- LeetCode——剑指 Offer 26. 树的子结构
一.题目 输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3/ \4 5/ \1 2 ...
- 剑指offer 26 树的子结构
输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3 / \ 4 5 / 1 2 给定 ...
最新文章
- Shell脚本传递带有空格的参数
- php读取zip文件,php如何读取zip内容?(zip_entry_read函数的使用)
- Python Django 装饰器模式之二阶装饰器
- 又翻出来老电视剧看了看....
- matlab2014a 3d标定,[转载]张的matlab摄像机标定
- akshare双均线backtrader
- extundelete应用实战
- safari使用canvas引入域外的图片
- redis+mysql几种用法
- 神器 Nginx 的学习手册(建议收藏吃灰)
- 勉强算是面经——1.诺瓦科技
- OpenCV算法精解3--OpenCV中C++矩阵基本运算
- WIN10出现找不到WIFI解决办法
- bondprice+matlab,债券久期与凸度的Matlab实现
- Android Launcher分析和修改5——HotSeat分析
- 【LeetCode每日一题】——109.有序链表转换二叉搜索树
- Access内置SQL函数
- OpenSSL生成根证书CA及签发子证书
- VUE-CLI/VUE-ROUTER
- 使用ASP.NET Core构建RESTful API的技术指南
热门文章
- pywin32官方说明文档_为什么你应该看官方文档而不是搜索博客文章
- 新浪微博时间格式解析java_仿新浪微博格式化时间
- FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级!
- keepalived 和 zookeeper的区别
- 面试中对hashMap的再次理解,负载因子为什么为0.75
- PostgreSQL 9.5.3中文手册正式发布(附pdf和chm)
- 主类main方法里面可以有不带public的子类 但是不能有接口
- 2748: [HAOI2012]音量调节
- 最好的Linux C/C++ IDE Windows ALL IDE,第一效率,第零浪漫
- c++学习笔记(4)