【剑指offer】树的子结构
输入两颗二叉树A,B,判断B是不是A的子结构。
图中,树B就是树A的一个子结构
思路:
首先,从树A的根节点开始,判断树B是否是从该根节点开始与树A重合。如果不是,继续判断左右子树。
重合判定:当前的A子树的根节点与B的根节点的值相同,再递归判断A的左右子树与B的左右子树是否相同。注意B为NULL判定为True, 表示B是A子树的一部分,没有到叶子节点。
bool isEqual(TreeNode* T1, TreeNode* T2){if(T2 == NULL)return true;else if(T1 == NULL)return false;elsereturn (T1->val == T2->val) && isEqual(T1->left, T2->left) && isEqual(T1->right, T2->right);}bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2){if(pRoot2 == NULL || pRoot1 == NULL) return false;return isEqual(pRoot1, pRoot2) || HasSubtree(pRoot1->left, pRoot2) || HasSubtree(pRoot1->right, pRoot2);}
【剑指offer】树的子结构相关推荐
- 剑指 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的根节点一样的值 ...
- 剑指Offer_17_树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 首先判断 A 和 B 是否是空,如果为空,返回false:否则找到 A 和 B 的根结点 ...
- 【LeetCode笔记】剑指 Offer 26-. 树的子结构 (Java、双重dfs、二刷)
文章目录 题目描述 思路 & 代码 二刷 题目描述 思路很值得看的一道题,和之前路径总和 III的双递归思路.结构很像 思路 & 代码 isSubStructrue() 进行一个前序的 ...
- 2021-06-28剑指offer26.树的子结构
自顶向下遍历,自底向上返回. 先逐层比较,然后再传递,相当于前序遍历的模板 由于只要有一个true都可能为true,所以在比较返回的过程中全部为或的关系. 什么时候应该返回呢? 1)在遍历的过程中,当 ...
- DayN剑指offer树基础
//树的前序中序后续递归非递归+层序+按照每层节点输出 package baselearning.tree;import java.util.*;class TreeNode {String val; ...
- 剑指OFFER思路总结与代码分享——树篇(Java实现)
剑指OFFER树相关 55-1 二叉树的深度 27 二叉树的镜像 54 二叉搜索树的第K大节点 32-II 从上到下打印二叉树 07 重建二叉树 68-I 二叉搜索树的最近公共祖先 68-II 二叉树 ...
- 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)
本题来自左神<程序员代码面试指南>"判断 t1 树是否包含t2 树全部的拓扑结构"题目. 题目 剑指 Offer 26. 树的子结构 给定彼此独立的两棵树头节点分别为 ...
- 【LeetCode】剑指 Offer 26. 树的子结构
[LeetCode]剑指 Offer 26. 树的子结构 文章目录 [LeetCode]剑指 Offer 26. 树的子结构 package offer;//定义树节点 class TreeNode{ ...
最新文章
- 计算机网络基础实验简答题,计算机网络基础实验报告.doc
- 【解决方案】无法将grub-efi-amd64-signed软件包安装到/target/【安装Ubuntu】
- 【C++】Visual Studio教程(七) -修改 Visual Studio
- System.Drawing.Color转System.Windows.Media.Color
- ajax结合接口 分页插件
- Tips--图像特征提取方法HOG、SIFT、LBP优缺点对比
- Jquery跨域调用(JSONP)遇到error问题的解决
- Mysql源码学习——Thread Manager
- 180908每日一句
- tcp欢动窗口机制_Linux网络编程面试--滑动窗口的实现机制
- 自动驾驶技术(3)- 高精度地图解决自动驾驶的功能痛点
- 126邮箱登录html,126邮箱登陆界面
- 机械制图计算机识图,机械制图与识图基础.ppt
- matlab的数字图像处理,基于MATLAB的数字图像处理分析及应用.pdf
- 计算机网络位置拒绝访问,Win10无法访问D盘提示位置不可用 拒绝访问的解法
- 中医文化之熏蒸的历史
- 使用行列式公式求多边形面积
- 本地搭建WordPress教程
- 使用uniapp注册全局组件
- TypeScript 学习笔记(一)—— 参考哔哩哔哩整理的笔记