树的子结构

时间限制:1秒 空间限制:32768K

题目描述

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

我的代码

/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};*/
class Solution {
public:
    bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2)
    {    
            if(pRoot1==nullptr || pRoot2==nullptr)
                return false;
        return isSubtree(pRoot1,pRoot2)|| 
            HasSubtree(pRoot1->left, pRoot2)||
            HasSubtree(pRoot1->right, pRoot2);
    }
    bool isSubtree(TreeNode* pRoot1,TreeNode* pRoot2){
        if(pRoot2==nullptr)
            return true;
        if(pRoot1==nullptr)
            return false;
        if(pRoot1->val==pRoot2->val)
            return isSubtree(pRoot1->left,pRoot2->left)&&
            isSubtree(pRoot1->right,pRoot2->right);
        return false; 
    }
};

运行时间:3ms
占用内存:472k

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/03...
    Sui_Xin阅读 553评论 0 1
  • 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路 要...
    丶沧月阅读 234评论 0 0
  • 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 前面曾经做过根据中序和...
    鸿雁长飞光不度阅读 855评论 5 3
  • 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 知识点 二叉...
    凌霄文强阅读 189评论 0 2
  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,055评论 0 13