剑指Offer_17_树的子结构
题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
解题思路
首先判断 A 和 B 是否是空,如果为空,返回false;否则找到 A 和 B 的根结点相同的结点,然后依次比较。可以用递归的形式在 A 中找 B 的根结点。
实现
/*树结点定义*/
public class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}
}
/*实现*/
public class Solution {public boolean HasSubtree(TreeNode root1,TreeNode root2) {if (root1 == null || root2 == null) return false;boolean result = check(root1, root2);if (!result) result = HasSubtree(root1.left, root2) || HasSubtree(root1.right, root2);return result;}private boolean check(TreeNode root1, TreeNode root2) {if (root1 == null && root2 == null) return true;else if (root2 == null) return true;else if (root1 == null) return false;if (root1.val == root2.val) return check(root1.left, root2.left) && check(root1.right, root2.right);return false;}
}
转载于:https://www.cnblogs.com/ggmfengyangdi/p/5769737.html
剑指Offer_17_树的子结构相关推荐
- 剑指 offer 树的子结构
子树和子结构的区别 这棵大树的子树有: 4 和 5 对应的两棵子树 3 本身自己完整的一棵树 而里面的小框圈出来的不是 3 这棵大树的子树! 还是上面那张图,子结构就是不用那么严格,图中的小框就是整棵 ...
- 剑指offer 树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解决方案: /** public class TreeNode {int val = 0;Tree ...
- 剑指offer——树的子结构
Q:输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) A:要查找树A中是否存在和树B结构一样的子树.我们可以分为两步: 第一步在树A中找到和B的根节点一样的值 ...
- 2021-06-28剑指offer26.树的子结构
自顶向下遍历,自底向上返回. 先逐层比较,然后再传递,相当于前序遍历的模板 由于只要有一个true都可能为true,所以在比较返回的过程中全部为或的关系. 什么时候应该返回呢? 1)在遍历的过程中,当 ...
- 【LeetCode笔记】剑指 Offer 26-. 树的子结构 (Java、双重dfs、二刷)
文章目录 题目描述 思路 & 代码 二刷 题目描述 思路很值得看的一道题,和之前路径总和 III的双递归思路.结构很像 思路 & 代码 isSubStructrue() 进行一个前序的 ...
- DayN剑指offer树基础
//树的前序中序后续递归非递归+层序+按照每层节点输出 package baselearning.tree;import java.util.*;class TreeNode {String val; ...
- 剑指-利用树的前序遍历和中序遍历结果,输出树的原始结构
需要注意两点:1.对于前序遍历第一个即为根节点.2.在前序遍历找到根节点之后,在中序遍历中根节点之前的全部为根节点的左子树,后面的全部为右子树.所以可以根据中序遍历中根节点之前的数量,在前序遍历中找出 ...
- 剑指OFFER思路总结与代码分享——树篇(Java实现)
剑指OFFER树相关 55-1 二叉树的深度 27 二叉树的镜像 54 二叉搜索树的第K大节点 32-II 从上到下打印二叉树 07 重建二叉树 68-I 二叉搜索树的最近公共祖先 68-II 二叉树 ...
- 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)
本题来自左神<程序员代码面试指南>"判断 t1 树是否包含t2 树全部的拓扑结构"题目. 题目 剑指 Offer 26. 树的子结构 给定彼此独立的两棵树头节点分别为 ...
最新文章
- 每天一点Linux --- 目录的可执行权限
- linux yum 离线安装rpm包
- Github开源!适合初学者的机器学习和深度学习的资料合集
- 验证码 -图形图像识别的算法。http://blog.csdn.net/xtalk2008/archive/2007/11/01/1861310.aspx...
- 深入浅出JVM-内存模型
- java教程-scala教程-带你从菜鸟入门
- android java 调用js_Android Java/JS互相调用
- 布同:vim插件开发实例和讲解
- 零散知识点总结(1) Gradle 使用配置总结
- 用户 与组的相关练习
- OpenCV-计算轮廓面积cv::contourArea
- java维护_java配置和维护
- 怎么引导2岁孩子洗手问题
- ftp服务器的搭建与使用
- snipaste滚动截图方法_老板让你把整个网页截图形成长图,具体怎么做?
- Docker Study Notes_Design in 2023
- winform 三层(BLL.DAL.MODEL)
- 大厂面经系列 | 前端 | 美团,字节,京东,顺丰,携程 等题目分享
- 100个冷笑话,越往后越冷(郁闷时专用……)
- Win7如何禁用安全模式 如何禁止进入安全模式?
热门文章
- 通过Easy-UI 树插件实现ArcGIS多个服务图层的图层控制
- wxPython多线程界面卡死或在不同平台崩溃问题
- 如何成为一名优秀的架构师
- 我是如何在阿里巴巴面试中壮烈牺牲的?(内含面试题)
- 阿里巴巴技术专家三画:如何画好架构图
- Spring Boot自动配置原理、实战
- 权限系统设计模型分析(DAC,MAC,RBAC,ABAC)
- Mycat源码篇 : 起步,Mycat源码阅读调试环境搭建
- 【Python】青少年蓝桥杯_每日一题_9.11_买鸡
- Failure while trying to resolve exception [org.springframework.http.converter.HttpMessageNotWritabl