麻烦写法

树的子结构

http://www.nowcoder.com/questionTerminal/6e196c44c7004d15b1610b9afca8bd88

class Solution {
public:
    bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2)
    {
        if(pRoot2==NULL||pRoot1==NULL)
            return false;
        if(isSubtree(pRoot1,pRoot2))
            return true;
        if(HasSubtree(pRoot1->left,pRoot2)||HasSubtree(pRoot1->right,pRoot2))  //递归遍历节点
            return true;
        else 
            return false;
        
    }
private:
    bool isSubtree(TreeNode* pRoot1, TreeNode* pRoot2)
    {
        if(pRoot2==NULL)
            return true;
        if(pRoot1==NULL)
            return false;
        if(pRoot1->val==pRoot2->val)  //相等则判断是否是子树
        {
            if(isSubtree(pRoot1->left,pRoot2->left)&&
               isSubtree(pRoot1->right,pRoot2->right))
                return true;
            else 
                return false;
        }
        else
        {
            return false;
        }
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务