当前位置: 首页 > news >正文

公司网站横幅是做的吗做证书的网站

公司网站横幅是做的吗,做证书的网站,佛山建设局官方网站,网络营销系统推广方案题目一 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 首先我们要来判断下它们的根是否相等 根相等的话是否它们的左子树相等 是否…

题目一 相同的树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

首先我们要来判断下它们的根是否相等

根相等的话是否它们的左子树相等

是否它们的右子树相等

一直到子树为空为止

大家仔细思考下这个思路对不对

接下来我们开始敲代码

首先我们想极端一点的情况

如果这个俩空指针

说明这里肯定不用判断了 返回ture就行

如果说有一个空指针 一个不为空指针的话 那么肯定是不相同的返回假就可以

接下来如果值相等 我们能判断它们相同嘛 显然不可以

所以说我们这里直接上两个不同 返回假

之后我们再判断它的左子树右子树

整体代码如下

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if(p==NULL&&q==NULL){return true;}//一方为空if(p==NULL||q==NULL){return false;}//都不为空if(p->val!=q->val){return false;}return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}

测试一下 

可以运行

题目二 对称二叉树

这里和前面相同的数的思路差不多

都是判断极值条件

我们可以借用一下前面的代码稍微修改一下,将左右子树比较

之后递归展开 这里直接上代码 代码中会写明解题思路

 bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if(p==NULL&&q==NULL){return true;}//一方为空if(p==NULL||q==NULL){return false;}//都不为空if(p->val!=q->val){return false;}return isSameTree(p->left,q->right)&&isSameTree(p->right,q->left);
}
bool isSymmetric(struct TreeNode* root) {if(root==NULL){return true;}return isSameTree(root->left,root->right);
}

这里我们要注意的是 要转换成两个子树问题才可以做

而子树问题需要再创建一个递归函数 可能是这一题的难点之一

还有一个难点就是要观察结构、

题目三 另一个树的子树

给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。

二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/subtree-of-another-tree

我们这里只需要遍历一遍root 并且将root中的每一个节点和subroot比较一次就可以

遍历会吧

比较会吧

连起来

过啦!

代码表示如下

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if (p == NULL && q == NULL){return true;}//一方为空if (p == NULL || q == NULL){return false;}//都不为空if (p->val != q->val){return false;}return isSameTree(p->left, q->left)&& isSameTree(p->right, q->right);
}
bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){if(root==NULL){return false;}if(isSameTree(root,subRoot)){return true;}return isSubtree(root->left,subRoot)||isSubtree(root->right,subRoot);
}

 以上便是本文所有内容,如有错误请各位大佬不吝赐教,感谢留言 

http://www.yayakq.cn/news/713031/

相关文章:

  • 怎样做网站兼职网站首页关键词优化
  • 做网站软件 wordpagewordpress 怎么打开
  • 免费做金融网站东台做网站的公司
  • 无锡seo网站建设费用销售公司怎么做网站
  • docker wordpress git企业网站优化软件
  • 做网站难吗?长沙app开发费用多少
  • 广西建设局网站安卓软件开发需要学什么
  • 接单做网站的投资者教育网站建设
  • 前程无忧网站开发待遇怎么样html5 网站自适应
  • 芜湖市网站建设优秀网页设计案例赏析之淘宝
  • 设计师做帆布包网站广州海珠区二手房
  • 电子商务网站建设一般流程wordpress小工具安装
  • 网站建设公司在哪里什么是管理
  • 备案时的网站名称淘宝网店代运营正规公司
  • 株洲网站优化哪家强老城网站建设
  • 晋安福州网站建设北京推广营销
  • c2c网站的盈利模式有哪些男女做特别污污的事情网站
  • 网站可以在外地备案吗小程序游戏源码
  • 宁波企业品牌网站建设做一个小程序要多少钱
  • 专业杭州网站建设小迪网站建设
  • 威海住房建设部官方网站开发网站公司交税
  • 四川德阳做网站和app工程造价信息期刊
  • 专教做蛋糕的网站网站开发的现状分析
  • 网站建设与网络推广网站建设教程详解
  • 为何网站打不开中国建设教育协会是什么网站
  • 经典的jq查询网站中国建设银行网站查工资
  • 西宁圆井模板我自己做的网站免费应用软件下载
  • 巨人科技网站建设织梦cms和帝国cms
  • 梁山网站建设哪家好seo双标题软件
  • 怎么选择五屏网站建设四川网站建设 旋风