【LeetCode】剑指 Offer 26. 树的子结构
【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. 树的子结构相关推荐
- LeetCode——剑指 Offer 26. 树的子结构
一.题目 输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3/ \4 5/ \1 2 ...
- 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)
本题来自左神<程序员代码面试指南>"判断 t1 树是否包含t2 树全部的拓扑结构"题目. 题目 剑指 Offer 26. 树的子结构 给定彼此独立的两棵树头节点分别为 ...
- 【无取巧解法,易于理解!】剑指 Offer 26. 树的子结构
看题解时,很多大牛用很少的代码就完成了AC,但可能看了很多遍也看不懂,因此萌生了写一种最"笨"最完整的代码的想法,这样大家可以通过我的代码入门,看懂了再去挑战大牛们的简洁解法. 输 ...
- 剑指offer——26.树的子结构(不太熟)
题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 知识点: 无 注意: 注意想法的递归实现(好好琢磨一下,不然可能会忘!) 代码实现: 具体实现分两步 ...
- 剑指offer 26 树的子结构
输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3 / \ 4 5 / 1 2 给定 ...
- 剑指 Offer 26树的子结构(相关话题:对称性递归,在线算法)
目录 开篇引言 题目描述 代码实现 题目拓展 拓展解读 一类 100. 相同的树
- 剑指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 ...
最新文章
- 理解java虚拟机工作后了解吗,【深入理解JAVA虚拟机】第4部分.程序编译与代码优化.2.运行期优化。这章提到的具体的优化技术,应该对以后做性能工作会有帮助。...
- Skynet入门范例之sproto
- pip升级之后出现:/usr/bin/pip: No such file or directory
- Boost:清理cleanup测试程序
- CSP2020 赛前总结
- 分享WordPress博客搜索引擎优化的六点经验 博客园 cnbogs
- [原创]Scala学习:编写Scala脚本
- 使用 IntraWeb (29) - 基本控件之 TIWAutherList、TIWAutherINI、TIWAutherEvent
- 解决windows软件默认安装到C盘问题
- 合并下载ts流媒体视频
- 2012美国大选献金项目数据分析(有史以来最全面)
- php fatal error解决,这是为什么 Fatal Error,该怎么解决
- 树形加法器(Brent-Kung加法器)
- html编码器是什么意思,编码器是什么意思
- python鲜花_【实战案例】90 行Python代码实现一棵鲜花盛开树
- ubuntu 安装jdk 1.8
- 在乌版图安装软件包时候报错:E:无法定位软件包
- 2022中国连锁企业人才管理报告
- MSF木马的简单利用
- 谈谈海外移动支付普及的一点障碍
热门文章
- adcetris研发历程_抗体类药物质量控制—张伯彦20130730.pdf
- android mux协议,GSM 07.10 MUX 协议驱动解析
- php提交表单并发送邮件,php提交表单发送邮件的方法
- 水文特点是什么意思_自动气象站应建在什么地方?
- CentOS下Redis 2.2.14安装配置详解
- linux 环境搭建Jenkins
- 前端上传数据-按解析顺序
- C语言strcat()库函数的实现
- numpy 数据类型与 Python 原生数据类型
- Yii2 behaviors中verbs access的一些理解