剑指 Offer 26. 树的子结构

剑指 Offer 26. 树的子结构

思路

递归
参考:

代码

class Solution {
public:
    bool recur(TreeNode* A, TreeNode* B)
    {
        if(A==NULL&&B!=NULL)
            return false;
        if(B==NULL)
            return true;
        if(A->val == B->val)
        {
            return recur(A->left,B->left)&&recur(A->right,B->right);
        }else
        {
            return false;
        }
    }
    bool isSubStructure(TreeNode* A, TreeNode* B) {
        if(A==NULL||B==NULL)
            return false;
        bool res=false;
        if(A->val == B->val)
        {
            if(recur(A,B))
                return true;
            else
                res=isSubStructure(A->left,B)||isSubStructure(A->right,B);
        }else
        {
            
            res=isSubStructure(A->left,B)||isSubStructure(A->right,B);
        }
        return res;
    }
};
posted @ 2020-10-13 20:26  韩天尊  阅读(82)  评论(0)    收藏  举报