力扣 572. 另一棵树的子树

简介: 力扣 572. 另一棵树的子树

1.解题思路

首先先要有一个判断根据两个根节点判断两个树是否相等的接口,然后再利用递归,在需要被比较的树里进行前序遍历来得出是否有子树.

2.代码实现

bool issame(struct TreeNode* root, struct TreeNode* subRoot)
{
     if(root==NULL&&subRoot==NULL)
     return true;
     if(root!=NULL&&subRoot==NULL)
     return false;
     if(root==NULL&&subRoot!=NULL)
     return false;
     if(root->val!=subRoot->val)
     return false;
    int x1=issame(root->left,subRoot->left);
    int x2=issame(root->right,subRoot->right);
    if(x1&&x2)
    return true;
    return false;
}
bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot)
{
    if(subRoot==NULL)
    return false;
    if(root==NULL)
    return false;
    if(issame(root, subRoot))
    return true;
    return (isSubtree(root->left, subRoot)||isSubtree(root->right, subRoot));
}

结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!

目录
相关文章
|
6天前
每日一题 --- 力扣2003—每棵子树内缺失的最小基因值
每日一题 --- 力扣2003—每棵子树内缺失的最小基因值
|
6天前
力扣572:另一棵树的子树
力扣572:另一棵树的子树
17 0
LeetCode | 572. 另一棵树的子树
LeetCode | 572. 另一棵树的子树
|
7月前
【Leetcode -965.单值二叉树 -572.另一颗树的子树】
【Leetcode -965.单值二叉树 -572.另一颗树的子树】
18 0
力扣572 另一棵树的子树
力扣572 另一棵树的子树
53 0
|
程序员
【Leetcode】965. 单值二叉树、100. 相同的树、572. 另一棵树的子树
【Leetcode】965. 单值二叉树、100. 相同的树、572. 另一棵树的子树
70 0
【Leetcode】965. 单值二叉树、100. 相同的树、572. 另一棵树的子树
|
算法
LeetCode 第 1373 题:二叉搜索子树的最大键值和
在判断是否为 BST 的时候,可以使用后序遍历来记录 root 的左右子树是否为 BST 并且返回 root 树的最大和最小值,以及 root 的键值和。
70 0
LeetCode每日一题——652. 寻找重复的子树
给定一棵二叉树 root,返回所有重复的子树。
59 0
LeetCode每日一题——652. 寻找重复的子树
LeetCode每日一题——508. 出现次数最多的子树元素和
给你一个二叉树的根结点 root ,请返回出现次数最多的子树元素和。如果有多个元素出现的次数相同,返回所有出现次数最多的子树元素和(不限顺序)。
68 0
LeetCode每日一题——508. 出现次数最多的子树元素和
|
6天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
9 0