首页 > 其他分享 >树的子结构

树的子结构

时间:2022-12-14 22:57:11浏览次数:27  
标签:right return dfs 子结构 TreeNode left

输入两棵二叉树 A,BA,B,判断 BB 是不是 AA 的子结构。

我们规定空树不是任何树的子结构。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool dfs (TreeNode* a, TreeNode* b) {
        if (!b) return true;
        if (!a) return false;
        if (a->val != b->val) return false;
        
        return dfs (a->left, b->left) && dfs (a->right, b->right) ;
    }

    bool hasSubtree(TreeNode* a, TreeNode* b) {
        if (!a || !b) return false;
        if (dfs(a, b) || hasSubtree(a->left, b) || hasSubtree(a->right, b)) return true;
    }
};

  

标签:right,return,dfs,子结构,TreeNode,left
From: https://www.cnblogs.com/leetothemoon/p/16983904.html

相关文章

  • 每日算法之树的子结构
    JZ26树的子结构描述输入两棵二叉树A,B,判断B是不是A的子结构。(我们约定空树不是任意一个树的子结构)假如给定A为{8,8,7,9,2,#,#,#,#,4,7},B为{8,9,2},2个树的结构如下,可以看......
  • Elasticsearch索引文档的父子结构应用
    (父子结构)前言由于Elasticsearch没有表和表的join关系,所以设计出来一种可以文档与文档关联起来的方法,其中包括1.普通内部对象;2.嵌套结构;3.父子结构。==以下操作......
  • OFF26 树的子结构
    /遍历A树,用每个节点开始与B进行比较publicbooleanisSubStructure(TreeNodeA,TreeNodeB){return(A!=null&&B!=null)&&(recur(A,B)||isSubS......
  • 晶体、分子结构软件:CrystalMaker for Mac
    晶体结构软件CrystalMakerformac创建、显示和操作各种晶体和分子结构,CrystalMakerMac版便捷、灵活,能够容易的载入结构数据并产生壮观的,相片型的图形,戴上红/蓝眼镜,还可......