【LeetCode】剑指 Offer 26. 树的子结构

文章目录

  • 【LeetCode】剑指 Offer 26. 树的子结构


package offer;//定义树节点
class TreeNode{int val;TreeNode left;TreeNode right;TreeNode(){};TreeNode(int x){val = x;}
}public class Solution26 {public static void main(String[] args) {TreeNode A = new TreeNode(3);A.left = new TreeNode(4);A.right = new TreeNode(5);A.left.left = new TreeNode(1);A.left.right = new TreeNode(2);TreeNode B = new TreeNode(4);B.left = new TreeNode(1);Solution26 solution = new Solution26();System.out.println(solution.method(A, B));}public boolean method(TreeNode A, TreeNode B){return (A != null && B != null) && (recur(A, B) || method(A.left, B) || method(A.right, B));}//递归判断 B 是否为 A 的子树private boolean recur(TreeNode A, TreeNode B){if(B == null) return true;if(A == null) return false;if(A.val != B.val) return false;return recur(A.left, B.left) && recur(A.right, B.right);}
}//时间复杂度为 O(n^2)
//空间复杂度为 O(n),最大递归深度为 n

【LeetCode】剑指 Offer 26. 树的子结构相关推荐

  1. LeetCode——剑指 Offer 26. 树的子结构

    一.题目 输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3/ \4 5/ \1 2 ...

  2. 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)

    本题来自左神<程序员代码面试指南>"判断 t1 树是否包含t2 树全部的拓扑结构"题目. 题目 剑指 Offer 26. 树的子结构 给定彼此独立的两棵树头节点分别为 ...

  3. 【无取巧解法,易于理解!】剑指 Offer 26. 树的子结构

    看题解时,很多大牛用很少的代码就完成了AC,但可能看了很多遍也看不懂,因此萌生了写一种最"笨"最完整的代码的想法,这样大家可以通过我的代码入门,看懂了再去挑战大牛们的简洁解法. 输 ...

  4. 剑指offer——26.树的子结构(不太熟)

    题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 知识点: 无 注意: 注意想法的递归实现(好好琢磨一下,不然可能会忘!) 代码实现: 具体实现分两步 ...

  5. 剑指offer 26 树的子结构

    输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3 / \ 4 5 / 1 2 给定 ...

  6. 剑指 Offer 26树的子结构(相关话题:对称性递归,在线算法)

    目录 开篇引言 题目描述 代码实现 题目拓展 拓展解读 一类 100. 相同的树

  7. 剑指offer:树的子结构

    题目 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 暴力做法 取出树A/B的前序.中序: 判断这两个数组是否A都包含B,是则true. 前序和中 ...

  8. 《剑指offer》-- 树的子结构、二叉树的镜像、二叉树的深度、平衡二叉树

    一. 树的子结构: 1.题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构. 2.解题思路: 这个题比较简单,利用递归的方式就可以判断B是不是A树的子结构 ...

  9. 剑指offer之树的子结构

    1 题目 输入两颗二叉树A和B,判断B是不是A的子结构(B树是A树的子结构) 比如:                   2     树A    3    5      树B   5         ...

最新文章

  1. 理解java虚拟机工作后了解吗,【深入理解JAVA虚拟机】第4部分.程序编译与代码优化.2.运行期优化。这章提到的具体的优化技术,应该对以后做性能工作会有帮助。...
  2. Skynet入门范例之sproto
  3. pip升级之后出现:/usr/bin/pip: No such file or directory
  4. Boost:清理cleanup测试程序
  5. CSP2020 赛前总结
  6. 分享WordPress博客搜索引擎优化的六点经验 博客园 cnbogs
  7. [原创]Scala学习:编写Scala脚本
  8. 使用 IntraWeb (29) - 基本控件之 TIWAutherList、TIWAutherINI、TIWAutherEvent
  9. 解决windows软件默认安装到C盘问题
  10. 合并下载ts流媒体视频
  11. 2012美国大选献金项目数据分析(有史以来最全面)
  12. php fatal error解决,这是为什么 Fatal Error,该怎么解决
  13. 树形加法器(Brent-Kung加法器)
  14. html编码器是什么意思,编码器是什么意思
  15. python鲜花_【实战案例】90 行Python代码实现一棵鲜花盛开树
  16. ubuntu 安装jdk 1.8
  17. 在乌版图安装软件包时候报错:E:无法定位软件包
  18. 2022中国连锁企业人才管理报告
  19. MSF木马的简单利用
  20. 谈谈海外移动支付普及的一点障碍

热门文章

  1. adcetris研发历程_抗体类药物质量控制—张伯彦20130730.pdf
  2. android mux协议,GSM 07.10 MUX 协议驱动解析
  3. php提交表单并发送邮件,php提交表单发送邮件的方法
  4. 水文特点是什么意思_自动气象站应建在什么地方?
  5. CentOS下Redis 2.2.14安装配置详解
  6. linux 环境搭建Jenkins
  7. 前端上传数据-按解析顺序
  8. C语言strcat()库函数的实现
  9. numpy 数据类型与 Python 原生数据类型
  10. Yii2 behaviors中verbs access的一些理解