牛客网-剑指offer-17-树的子结构
来源:互联网 发布:淘宝魔兽带团本 编辑:程序博客网 时间:2024/06/16 22:09
题目描述
输入两棵二叉树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) {
if (root1 == null || root2 == null) {
return false;
}
return find(root1, root2);
}
private boolean find(TreeNode root1, TreeNode root2) {
if (root1 == null && root2 == null) {
return true;
} else if (root1 == null || root2 == null) {
return false;
}
if (root1.val == root2.val) {
boolean flag = equal(root1, root2);
if (flag) {
return true;
}
}
boolean flag1 = false;
if (root1.left != null)
flag1 = find(root1.left, root2);
boolean flag2 = false;
flag2 = find(root1.right, root2);
return flag1 | flag2;
}
private boolean equal(TreeNode root1, TreeNode root2) {
if (root2 == null) {
return true;
}
if (root1 == null) {
return false;
}
if (root1.val == root2.val) {
boolean flag1 = equal(root1.left, root2.left);
boolean flag2 = equal(root1.right, root2.right);
return flag1 & flag2;
}
return false;
}
}
- 剑指offer--17树的子结构
- 剑指offer 17 树的子结构
- 牛客网-剑指offer-17-树的子结构
- 剑指offer:判断树的子结构
- 【剑指offer】树的子结构
- 【剑指offer】Q18:树的子结构
- 剑指offer--树的子结构
- 剑指Offer之 - 树的子结构
- 剑指offer 18 - 树的子结构
- 剑指Offer-树的子结构
- 剑指offer之树的子结构
- 《剑指offer》树的子结构
- 剑指offer—树的子结构
- 剑指Offer-18-树的子结构
- 剑指offer:树的子结构
- 【剑指offer】之树的子结构
- 剑指offer 树的子结构
- 剑指offer:树的子结构
- Xamarin android 使用RecyclerView结合SwipeRefreshLayout下拉刷新滑到底部加载更多
- 三栏布局:浮动布局、绝对布局、(相对)圣杯布局、双飞翼布局、中间固定两边自适应总结
- atitit 常见个人与企业与组织机构的信息化.docx
- java学习初探十三之集合—List详解
- Atititi atiitt eam pam资产管理 购物表去年.xlsx
- 牛客网-剑指offer-17-树的子结构
- POJ 3169 Layout——差分约束
- 数据安全 密码学原理与概论
- Atitit 身份证与银行卡校验规则
- Atitit uke消防防火规范 attilax总结
- 末段短才能突出主旨
- 牛客网-剑指offer-18-二叉树的镜像
- 通过修改别名,设置初步服务器的安全
- SQL视图的创建和使用