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

学做软件的网站有哪些内容百度一下官方下载安装

学做软件的网站有哪些内容,百度一下官方下载安装,天津做网站选择津坤科技b,唐山做网站建设的公司题目一 相同的树 给你两棵二叉树的根节点 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.qdjiajiao.com/news/7968.html

相关文章:

  • 郑州艾特网站建设中国唯一没有疫情的地方
  • 制作科技网站首页体验营销是什么
  • 网站建设实践鉴定海南百度推广公司有哪些
  • 东莞网站排名优化价格百度竞价是什么
  • 成都网站建设火狐狸百度文库网页版登录入口
  • wordpress怎么弄中文seo网站优化软件价格
  • 茶叶网络营销策划方案淘宝seo是什么
  • 烟台网站建设联系电话企业网络推广网站
  • 做免费的网站教程照片查询百度图片搜索
  • 平面设计优秀作品北京seo代理计费
  • 三亚做网站多少钱线上营销活动主要有哪些
  • 苏州退工在哪个网站做长沙百度首页优化排名
  • 为什么做外贸独立网站惠州seo排名公司
  • 墙外行人 wordpressseo广告投放
  • 网站建设推广好做吗厦门seo排名公司
  • 2017建设厅网站市场seo是什么意思
  • 英文网站建设公司报价外贸海外推广
  • 成绩查询系统网站开发seo公司哪家好用
  • 网站开发与运营方向哪个平台可以免费推广
  • 深圳通公司网站2021网络营销成功案例
  • 做系统进化树的网站广东深圳龙华区
  • 想学ui设计从哪里入手关键词长尾词优化
  • 淘宝客网站如何做排名四川省人民政府官网
  • 福州志愿者官方网站怎么做软件测试培训
  • 网站论坛源码云盘搜索
  • 上海公安网站北京seo方法
  • 武汉网站建设网站推广潮州网站建设
  • 冒用公司名做网站百度下载免费官方安装
  • wordpress支付文件在哪seo最好的工具
  • 为什么做可信网站百度竞价推广属于什么广告