美文网首页
17:树的子结构

17:树的子结构

作者: iwtbam | 来源:发表于2019-08-06 15:03 被阅读0次

题目描述

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

解题思路

  • 双重递归,首先递归比较B树的根结点与A的结点中有没有值相等的结点,如果有相等,递归检查以这两结点为根节点的树,是否一样。

AC代码

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

相关文章

  • 17、树的子结构

    题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 测试代码 /*...

  • 17树的子结构

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

  • 17:树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路 双...

  • 17.树的子结构

    本题如意疏忽的是并没有说要求两棵树都从根界节点开始找。 思路: 首先看到树就要考虑递归。递归判断一下两棵树的结构,...

  • 17. 树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路 要...

  • 18 树的子结构

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

  • 《剑指offer》— JavaScript(17)树的子结构

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

  • 剑指Offer - 17 - 树的子结构

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

  • 树的子结构

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

  • 树的子结构

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

网友评论

      本文标题:17:树的子结构

      本文链接:https://www.haomeiwen.com/subject/wyzidctx.html