【二叉树】树的子结构
2016-09-17 14:45
387 查看
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
/** 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) { boolean result = false; if(root1 != null && root2 != null){ if(root1.val == root2.val){ result = DoesTree1HasTree2(root1,root2); } //递归遍历左子树 if(!result){ result = HasSubtree(root1.left, root2); } //递归遍历右子树 if(!result){ result = HasSubtree(root1.right, root2); } } return result; } public boolean DoesTree1HasTree2(TreeNode root1,TreeNode root2){ if(root2 == null){ return true; } if(root1 == null){ return false; } if(root1.val != root2.val){ return false; } return DoesTree1HasTree2(root1.left, root2.left) && DoesTree1HasTree2(root1.right, root2.right); } }
相关文章推荐
- 【第三周】第三章习题3.6
- ContentProvider
- Android Volley完全解析(一),初识Volley的基本用法
- KafKa常用命令
- keyboard
- 1230 元素查找
- 亚马逊EC2 ubuntu下安装mysql远程无法连接问题o
- 各式各样的导航条效果css3结合jquery代码实现
- 安卓手机卫士学习笔记系列——两个Activity之间切换动画效果overridependingtransition的使用
- Unity5 如何做资源管理和增量更新
- EasyDarwin开源音频解码项目EasyAudioDecoder:EasyPlayer Android音频解码库(第二部分,封装解码器接口)
- Linux的帮助信息
- js 的复制和引用 (传值和传址)
- 再详细的介绍一下Unity5的AssetBundle
- EasyDarwin开源音频解码项目EasyAudioDecoder:EasyPlayer Android音频解码库(第二部分,封装解码器接口)
- Qt:使用Model-View,动态的加载显示数据
- 本地数据库的建立及增删改查,建议使用
- sublime python环境配置
- Unity5的AssetBundle的一点使用心得
- Unity3D 5.3 新版AssetBundle使用方案及策略