当前位置: 首页> 教育> 幼教 > 南宁网页制作步骤_杭州seo关键词优化公司_排名优化培训_百度建站多少钱

南宁网页制作步骤_杭州seo关键词优化公司_排名优化培训_百度建站多少钱

时间:2025/8/23 21:46:39来源:https://blog.csdn.net/iiiiiankor/article/details/144097337 浏览次数:0次
南宁网页制作步骤_杭州seo关键词优化公司_排名优化培训_百度建站多少钱

题目让判断B是不是A的子结构
但是我们进行判断是基于 两个树的根相等时, 去判断是否为子结构
针是否等于B的根节点的值对A做先序遍历的过程中 如果根节点相同我们去判断此时B是不是以该根节点的子树的子结构!
实际上进行先序遍历的同时要进行递归判断子结构

  1. B是不是A节点的子结构
  2. B是不是A的左子树的子结构
  3. B是不是A的右子树的子结构

实际上2和3就是在进行先序遍历!

因此需要借助辅助函数, hasSub(A,B)
该函数是用于判断,B是不是以A为根节点的树的子结构。如果A,B值不等,直接返回false

class Solution {
public://B是不是以A为根节点的子结构bool hasSub(TreeNode* A,TreeNode* B){//既然是从A中找B的结构//如果B是空 或者 A和B同时为空,说明B走完了 A中有B的结构if(!B)  return true;if(!A)  return false;if(A->val != B->val){return false;}//判断B的左子树是不是A的左子树的子结构//B的右子树是不是A的右子树的子结构return hasSub(A->left,B->left) && hasSub(A->right , B->right); }   //isSubStructure实际上是进行先序遍历!!!bool isSubStructure(TreeNode* A, TreeNode* B) {//如果B是空树,谁的子结构也不是//如果A走到空树,说明没有与A匹配的子结构 返回falseif(B==NULL || A==NULL){return false;}//B是A的子结构 有三种情况//A和B根相同,判断B是不是A的子结构//B是A的左子树的子结构//B是A的右子树的子结构//return hasSub(A,B) || isSubStructure(A->left,B) || isSubStructure(A->right,B) ;}
};
关键字:南宁网页制作步骤_杭州seo关键词优化公司_排名优化培训_百度建站多少钱

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: