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

东城网站设计wordpress 菜单 首页

东城网站设计,wordpress 菜单 首页,莱州市做企业网站,学做网站论坛第六节这个系列的文章将带大家一起刷题,并且总结思路 温馨提示:本篇文章里的练习题仅适合刚学完二叉树的小白使用 相同的树 思路 情况分析:第一种情况:两棵树都为空 → 返回true 第二种情况&am…

这个系列的文章将带大家一起刷题,并且总结思路

温馨提示:本篇文章里的练习题仅适合刚学完二叉树的小白使用

相同的树

思路

情况分析:第一种情况:两棵树都为空                         →               返回true

                  第二种情况:一棵树为空,另一棵树不为空→               返回false

                  第三种情况: 两棵树都不为空                     →              判断每个节点的数值是否相同

源代码

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {

    if(q == NULL && p == NULL)

    return true;

    if(q == NULL || p == NULL)

    return false;

    if(p->val != q->val)

    return false;

    return isSameTree(q->left, p->left) && isSameTree(q->right, p->right);

}

变式题

思路上与第一题的一模一样,但不同的是这次需要遍历树的左右叶子,并且判断是否处在相反的位置

思路

情况分析:第一种情况:两棵树都为空                         →               返回true

                  第二种情况:一棵树为空,另一棵树不为空→               返回false

                  第三种情况: 两棵树都不为空                     →              判断每个节点的数值是否相同

源代码

bool _isSymmetric(struct TreeNode* p, struct TreeNode* q)

 {

    if(q == NULL && p == NULL)

    return true;

    if(q == NULL || p == NULL)

    return false;

    if( q->val != p->val)

    return false;

    return _isSymmetric(q->left, p->right) && _isSymmetric(q->right, p->left);

 }

bool isSymmetric(struct TreeNode* root) {

    return _isSymmetric(root->left, root->right);

}

另一棵树的子树

思路

另一棵树的子树

第二种情况: root为空时, 则没有子树可与还在等待比较的树进行比较,因此返回false

第三种情况:root不为空,则先比较根节点的值是否相等,比较完根的节点后,再比较叶子的节点的数值是否相等

源代码

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {

    if(q == NULL && p == NULL)

    return true;

    if(q == NULL || p == NULL)

    return false;

    if(p->val != q->val)

    return false;

    return isSameTree(q->left, p->left) && isSameTree(q->right, p->right);

}

bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){

   if(root == NULL)

    return false;

    if(root->val == subRoot->val && isSameTree(root, subRoot))

    return true;

   return isSubtree(root->left, subRoot) || isSubtree(root->right,subRoot);

}

刷题总结

从本篇文章中的三道习题以及我自己的刷题中发现,类似于这种类型的题不管考察的是否为二叉树也好还是链表也好,我们都需要考虑它是否为空以及为空时是否可取

好的,本篇文章就先带大家刷到这里,还请各位观众老爷赏个三连,谢谢啦

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

相关文章:

  • 网站专题二级页怎么做wordpress内存
  • 龙华营销型网站建设如何选择郑州网站建设
  • 优秀网站展示曹县网站建设
  • 湖南网站营销推广企业网站展示
  • 创客联盟网站建设wordpress底部制作
  • 汽车充电桩网站建设中企动力技术支持简单网页图片
  • 如何增加网站收录手机搜索和网站搜索的排名
  • 余姚公司网站建设龙岩天宫山可以开车上去吗
  • 网站建设投标书 技术架构网站关键词怎么选
  • 泰安网站seo推广wordpress插件改图标
  • 网站代理登录域名外贸是做什么的工作
  • 教育培训网站建设ppt做网站二维码
  • 网站公司云建站怎么样仿站软件
  • 快速域名网站备案网页设计与制作策划方案800字
  • 兼职网站高中生在家可做企业手机网站开通
  • 工信部网站备案系统怎么注册长沙官网seo诊断
  • 个人博客网站怎么注册2021年新闻摘抄
  • 机关网站源码防伪码做网站的还能没导入吗
  • 银川网站优化wordpress 上下篇 插件
  • 商城网站建设服务器政务服务网站建设整改报告
  • 电子商务网站设计是什么大连服装网站建设
  • 网站做文件检查要加强网站内容建设
  • 哪种网站开发最简单湖北标书设计制作
  • 购物帮–做特惠的导购网站wordpress最新列表页
  • 宁波微网站建设网架加工方案
  • 怀化市住房和城乡建设局网站多语言多商户商城源码
  • 苏州网站建设网站开发宣传片拍摄心得体会
  • 商城开发网站开发深圳网站建设企
  • 个人网站有什么网站开发国内外现状
  • 武城网站建设费用wordpress微信没缩略图