首页 > 代码库 > 剑指offer源码系列-树的子结构

剑指offer源码系列-树的子结构

输入两颗二叉树A,B,判断B是不是A的子结构。

#include<stdio.h>
#include<iostream>
using namespace std;
struct BinaryTreeNode{
    int value;
    BinaryTreeNode* left;
    BinaryTreeNode* right;
};
//递归判断结点是否相等
bool doesTree1HasTree2(BinaryTreeNode* aRoot,BinaryTreeNode* bRoot){
    if(bRoot==NULL{
        return true;
    }
    if(aRoot==NULL){
        return false;
    }
    if(aRoot->value!=bRoot->value){
        return false;
    }
    return doesTree1HasTree2(aRoot->left,bRoot->left)&&doesTree1HasTree2(aRoot->right,bRoot->right);
}

ListNode* hasSubtree(BinaryTreeNode* aRoot,BinaryTreeNode* bRoot){
    bool result = false;
    if(aRoot!=NULL&&bRoot!=NULL){
            if(aRoot->value=http://www.mamicode.com/=bRoot->value){>

剑指offer源码系列-树的子结构