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

芮城做网站的机构乐陵市住房和城乡建设局网站

芮城做网站的机构,乐陵市住房和城乡建设局网站,韩式摄影网站源码,招生处网站建设方案572. 另一棵树的子树 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tr…

572. 另一棵树的子树

给你两棵二叉树 rootsubRoot 。检验 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

提示:

  • root 树上的节点数量范围是 [1, 2000]
  • subRoot 树上的节点数量范围是 [1, 1000]
  • − 1 0 4 ≤ r o o t . v a l ≤ 1 0 4 -10^4 \leq root.val \leq 10^4 104root.val104
  • − 1 0 4 ≤ s u b R o o t . v a l ≤ 1 0 4 -10^4 \leq subRoot.val \leq 10^4 104subRoot.val104

解法一(迭代+暴力匹配)

思路分析:

  1. 对二叉树root采用前序遍历进行遍历,寻找与二叉树subRoot的根节点相等的节点,找到某节点后,判断以该节点为根节点的子树 是否与 subRoot相等。

实现代码如下:

class Solution {public boolean isSubtree(TreeNode root, TreeNode subRoot) {// 使用统一迭代进行二叉树遍历Deque<TreeNode> stack = new LinkedList<>();stack.push(root);while (!stack.isEmpty()) {TreeNode node = stack.pop();if (node.val == subRoot.val) {    // 若出现与subRoot的根节点值相等 则进一步判断是否为子树if (isSameTree(node, subRoot))return true;    // 为子树 则直接返回true}if (node.right != null) stack.push(node.right);if (node.left != null) stack.push(node.left);}return false;}// 判断两棵树是否相等private boolean isSameTree(TreeNode p, TreeNode q) {if (p == null && q == null) return true;if (p == null || q == null) return false;return p.val == q.val && isSameTree(p.left, q.left) && isSameTree(p.right, q.right);}
}

提交结果如下:

解答成功:
执行耗时:5 ms,击败了14.15% 的Java用户
内存消耗:43.1 MB,击败了8.66% 的Java用户

复杂度分析:

  • 时间复杂度: O ( m ⋅ n ) O(m \cdot n) O(mn),subRoot是子树,且刚好遍历整个root
  • 空间复杂度: O ( m + n ) O(m+n) O(m+n),递归调用和前序遍历root
http://www.yayakq.cn/news/251363/

相关文章:

  • 网站图片移动怎么做的北京房山网站建设产品更新培训
  • 公司网站有收录没排名北京seo诊断
  • 湖北省建设厅官方网站证书查询手机网页链接制作
  • 网站建设没业务黑帽seo技巧
  • 网站设计模板源码百度推广账户登陆
  • 旅游开发公司网站建设方案书长沙 微信群
  • 做企业网站市场分析赤壁市建设局网站
  • 比翼网站建设公司seo是什么级别
  • 凡科自助建站自己做网站wordpress 插件 页面
  • 网站架构设计师就业指导全球外贸网站制作教程
  • 国家高新技术企业查询网站中文域名做的网站有哪些
  • 分类网站 php个人简历模板免费网站
  • 网站底部特效有什么网站可以做免费推广
  • 长沙微交易网站建设大连网建科技
  • wordpress固定链接+404温州seo网站推广
  • 做专业的热转印材料门户网站没有备案的网站怎么访问不了
  • 建筑设计案例网站wordpress 工业主题
  • 东莞做网站的公司网页制作与网站建设题
  • 深圳html5网站开发多少钱网站页面
  • 营销型网站定制wordpress重置秘密
  • 做网站的启蒙思想做落地页的网站
  • 禁止显示网站目录什么语言做网站快
  • 城市建设鹤岗市网站企业网站的用户需求分析
  • 建设旅游网站的市场分析怎么在网上做推广
  • 自己怎么开网站做销售wordpress videotheme
  • 大岭山网站建设打开百度网站首页
  • 青浦区网站建设邯郸市空船网络科技有限公司
  • 如何将网站上传到万网主机优秀网站建设最新报价
  • 网站建设合同怎么交印花税wordpress plug in
  • 品牌网站建设方案ppt增城建设网站