《剑指Offer》题目:树的子结构
题目描述:树的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
题目分析:此题可以拆成两题,1.在二叉树中查找是否存在某个结点;2.判断两个二叉树是否有相同的结构
Java代码:
class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}} public class HasSubtree {public boolean hasSubtree(TreeNode root1,TreeNode root2) {boolean res = false;if (root1 != null && root2 !=null){if (root1.val == root2.val){//这时候判断两个二叉树是否有相同的结构res = isAHasB(root1, root2);}if (!res){res = hasSubtree(root1.left,root2);}if (!res){res = hasSubtree(root1.right, root2);}}return res;} //判断两个二叉树是否有相同的结构public boolean isAHasB(TreeNode root1,TreeNode root2){if (root2 == null) return true;if (root1 == null) return false;if (root1.val != root2.val) return false;return isAHasB(root1.left, root2.left) && isAHasB(root1.right, root2.right);}}
转载于:https://www.cnblogs.com/weekend/p/6979684.html
《剑指Offer》题目:树的子结构相关推荐
- 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)
本题来自左神<程序员代码面试指南>"判断 t1 树是否包含t2 树全部的拓扑结构"题目. 题目 剑指 Offer 26. 树的子结构 给定彼此独立的两棵树头节点分别为 ...
- 【LeetCode】剑指 Offer 26. 树的子结构
[LeetCode]剑指 Offer 26. 树的子结构 文章目录 [LeetCode]剑指 Offer 26. 树的子结构 package offer;//定义树节点 class TreeNode{ ...
- 剑指offer:树的子结构
题目 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 暴力做法 取出树A/B的前序.中序: 判断这两个数组是否A都包含B,是则true. 前序和中 ...
- 《剑指offer》-- 树的子结构、二叉树的镜像、二叉树的深度、平衡二叉树
一. 树的子结构: 1.题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构. 2.解题思路: 这个题比较简单,利用递归的方式就可以判断B是不是A树的子结构 ...
- 剑指offer之树的子结构
1 题目 输入两颗二叉树A和B,判断B是不是A的子结构(B树是A树的子结构) 比如: 2 树A 3 5 树B 5 ...
- 剑指offer——判断树的子结构
题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) https://www.nowcoder.com/practice/6e196c44c7004d ...
- 剑指offer——26.树的子结构(不太熟)
题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 知识点: 无 注意: 注意想法的递归实现(好好琢磨一下,不然可能会忘!) 代码实现: 具体实现分两步 ...
- LeetCode——剑指 Offer 26. 树的子结构
一.题目 输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3/ \4 5/ \1 2 ...
- 《剑指Offer》-- 树的子结构(Python)
题目 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 思路 看题目明显知道是遍历树的任务,而且遍历树应该第一时间反应出来的应该是递归实现遍历树. 题目是判断 ...
- 【无取巧解法,易于理解!】剑指 Offer 26. 树的子结构
看题解时,很多大牛用很少的代码就完成了AC,但可能看了很多遍也看不懂,因此萌生了写一种最"笨"最完整的代码的想法,这样大家可以通过我的代码入门,看懂了再去挑战大牛们的简洁解法. 输 ...
最新文章
- 基于Vue的小日历(支持按周切换)
- python使用matplotlib可视化3D曲面图、曲面图表示一个指定的因变量y与两个自变量x和z之间的函数关系
- mybatis-Batch Executor
- sublime插件 TortioseSVN
- 【转】STM32中的抢占优先级、响应优先级概念
- jQuery实现一个优雅的返回顶部
- 用python写一个简单的web服务器
- java创建xml文件 编码_Mybatis Generator 1.4.0 通过java编码和xml文件配置
- android经典动态壁纸,Android动态壁纸解析
- 如何让我的世界变成别人的世界(国际版)——HMCL启动器之如何同时用到mod和光影
- 动态路由 华三nat 静态路由_H3C MSR系列路由器典型配置举例(V5)-6W100
- 【每日一练:逻辑题】使用一个天平找8个球中其中一个重量不一致的球
- mysql phpwind_PHPWind环境搭建(Linux)
- 我的世界梦之边缘5服务器在维护吗,我的世界梦之边缘V 第一个包含动漫CG剧情的RPG服务器...
- 闭合导线的近似平均差(工程测量)
- 线性代数之——对称矩阵及正定性
- 创客匠人教您实现流量变现
- 华为AP6050DN配置手册
- Python遍历多个列表:ValueError: too many values to unpack (expected 2)
- 关于点到直线距离的理解
热门文章
- ARM 发布新一代 GPU 架构,还有一个机器学习处理器
- 干货 | 旷视科技俞刚:我在旷视研究院做检测
- (深入理解)matplotlib绘图原理(figure,axes,axis,canvas的区别)
- IEEE发布2022年科技趋势全球调研:人工智能和机器学习、云计算及5G将成为下一年最重要的技术...
- 【专家观点】刘经南院士:北斗+5G为何能引领新基建?
- 边缘数据中心维护的4个基本组件
- 数学与 AI「融通」 ,徐宗本院士进行超强“迁移学习”
- 人类首次登月50年后,这60家公司决心重返月球
- 学会动态丨中国人工智能学会重磅发布《2018人工智能产业创新评估白皮书》
- DeepMind集成AI智能体架构「MERLIN」:基于目标导向智能体中的无监督预测记忆