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

苏州网站建设推广案例淮北论坛租房信息

苏州网站建设推广案例,淮北论坛租房信息,协会网站建设,廊坊建站目录 题目 思路 代码1 :相同的树 代码二:解题 注意点 题目 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tr…

目录

题目

思路

代码1 :相同的树

代码二:解题

注意点


题目

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

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

示例 1:

输入:root = [3,4,5,1,2], subRoot = [4,1,2]
输出:true

示例 2:

输入:root = [3,4,5,1,2,null,null,null,null,0], subRoot = [4,1,2]
输出:false

思路

何为子树:

二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点

明白何为子树之后,只需要让root的所有子树,与subRoot进行比较,判断是不是相同的树即可。

代码1 :相同的树


bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//空节点也需要判断if (p == NULL && q == NULL)        //只有当树全部走完之后,才能return true;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)    //题目中subroot不为空。 当root为空时,一定返回falsereturn false;if (isSameTree(root, subRoot))      //是相同的树。bool类型可以直接当if条件判断值return true;return isSubtree(root->left, subRoot)       //不断调用 本 函数的过程,就是不断递归遍历二叉树的过程|| isSubtree(root->right, subRoot);}

注意点

1.

  • root 树上的节点数量范围是 [1, 2000]
  • subRoot 树上的节点数量范围是 [1, 1000]

因此

     

   if (root == NULL)    //题目中subroot不为空。 当root为空时,一定返回false

        return false;

root为空,可以直接返回false

root不断递归,当到空时,一定不会是相同的树。

2.

有了判断的函数,返回类型是bool类型,可以直接调用此函数

    if (isSameTree(root, subRoot))      //是相同的树。bool类型可以直接当if条件判断值

        return true;

3.

return isSubtree(root->left, subRoot)       //不断调用 本 函数的过程,就是不断递归遍历二叉树的过程

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

递归时,调用的是本函数,而不是子函数。

递归调用本函数的过程中,就完成二叉树的不断“扩枝”。

对于递归调用而言,其形状可以理解为二叉树的扩枝过程,只不过不断扩枝的过程中,先走一边,再走另一边。

遍历调用时,可以存在前序、中序、后续三种情况。

这三种情况,可以理解为递归调用的“思想”, 而不是“死代码”。

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

相关文章:

  • 开源商城网站株洲百度推广
  • 外贸公司手机网站软件外包开发
  • 外综服网站开发网站检测报告哪里做
  • 网站关键词的分类十堰秦楚网官网
  • seo精灵兰州企业网站排名优化
  • 郑州网站推广汉狮网络seo排名优化首页
  • 怎样建立一个网站中国十大黄页网站排行榜
  • 网站建设技术服务公司公司网站如何做二维码
  • 如何运营一个行业网站联通专线做网站
  • 专业的徐州网站建设vps搭建wordpress个人
  • 网站开发什么语音最好工具
  • flash 网站模板长沙抖音推广代运营公司
  • 怎样做网站地图做很多网站
  • 镇江网站制作企业网站做网站坚持多少年会有起色
  • 网站后台html页面wordpress登录页面模板下载
  • 在一呼百应上做网站行吗少儿戏曲知识 网站建设
  • 网站提示风险网络优化工程师
  • 制作一个简单网站wordpress ishome
  • 红河做网站海南直聘网
  • 前台网站模板wordpress 标签图标
  • 陕西网站制作电话wordpress 慢 google
  • 行业网站开发运营方案中企动力z邮箱登陆
  • 专业官方网站建设柳市专业网站托管
  • 专业的环保行业网站开发网站建设运营有限公司
  • 完全免费建站系统成都装修公司十大排名
  • 东莞 营销网站Pc端网站是什么意思
  • 丹阳建设工程管理处网站个人网站 备案 广告
  • 北京市公司网站制作如何利用视频网站做数字营销推广
  • 网站建设亿金手指科杰网站挂到国外服务器地址
  • 提供小企业网站建设互联网网站建设新闻