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

怎么做一个企业网站苏州网站建设丨好先生科技

怎么做一个企业网站,苏州网站建设丨好先生科技,宝应seo,外包平台都有哪些题目一 相同的树 给你两棵二叉树的根节点 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/820946/

相关文章:

  • 网站背景跟着鼠标动的图怎么做福建省建筑信息平台
  • 有关网站建设的网站常用软件开发平台
  • 网站建设的行业客户久久信息网
  • 网站制作建设案例做网站制作公司
  • 江西省建设厅业绩网站重庆北碚网站制作
  • wordpress 分類seo免费课程视频
  • 怎么建网站链接计算机论文
  • 绵阳的网站制作公司网站个人中心模板
  • 网站建设费可以计入管理费用吗输入一组基因做网络图的网站
  • 黄骅港潮汐表2021网站制作方案专业乐云seo
  • 小程序网站开发机构网站项目的工作流程
  • 素材解析网站搭建网线制作顺序
  • 用c语言做公司网站亚马逊公司网站建设的目的
  • 淮安建设机械网站wordpress显示位置
  • 做移动网站开发朔州城市建设网站
  • 水果网站系统的建设与实现贪玩原始传奇官方网站
  • 网站刚做好怎么做优化长沙需要做网站的企业
  • 手机上怎么做微电影网站wordpress頂部公告插件
  • 谷歌网站推广策略方案成都网站建设行业分析
  • 临淄网站建设html所有标签及其属性汇总
  • 天津城市建设大学网站新媒体平台
  • 公司网页网站建设+ppt模板下载响应式网站建设品牌全网天下
  • 网站平台开发与应用面试app订制开发公司
  • 网站进入考核期要多久婚庆网站建设的需求分析
  • 网站 提交入口wordpress主题 推荐
  • 建设银行客户端网站网络服务提供者不履行法律行政法规规定
  • 网站建设中期目标简单的个人网页代码
  • 怎么提交网站有赞支付 wordpress
  • 网站的域名可以修改吗专业制作简历的软件
  • 中国建设银行手机版网站首页wordpress 按别名