输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)

B是A的子结构, 即 A中有出现和B相同的结构和节点值。

例如:
给定的树 A:

3
    / \
   4   5
  / \
 1   2
给定的树 B:


  /
 1
返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。

思路:

B是A的子结构有三种可能, B是A左子树的子结构,B是A右子树的子结构,B和A的根节点值相等,且是A的子结构。

class Solution {
public:bool isSubStructure(TreeNode* A, TreeNode* B) {if (A == NULL || B == NULL) return false;return (isContain(A, B) || isSubStructure(A->left, B) || isSubStructure(A->right, B));}bool isContain(TreeNode* A, TreeNode* B) {if (B == NULL) return true;if (A == NULL || A->val != B->val) return false;return isContain(A->left, B->left) && isContain(A->right, B->right);}
};

剑指offer 26.数字的子结构相关推荐

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

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

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

    [LeetCode]剑指 Offer 26. 树的子结构 文章目录 [LeetCode]剑指 Offer 26. 树的子结构 package offer;//定义树节点 class TreeNode{ ...

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

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

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

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

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

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

  6. 剑指offer 26 树的子结构

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

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

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

  8. 【LeetCode】剑指 Offer 44. 数字序列中某一位的数字

    [LeetCode]剑指 Offer 44. 数字序列中某一位的数字 文章目录 [LeetCode]剑指 Offer 44. 数字序列中某一位的数字 package offer;public clas ...

  9. 【剑指offer】数字在排序数组中出现的次数

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/27364557 题目描写叙述: 统计一个数字在排序数组中出现的次数. 输入: 每一个測试案例 ...

最新文章

  1. C语言表达式和运算符大学霸IT达人
  2. ASP.NET MVC和jQuery DataTable整合
  3. Matlab 中常用的直线与点形表示属性
  4. Python基础语法精心总结!看完都知道的可以往下继续学习了
  5. C++有哪些性质(面向对象特点)
  6. Java描述设计模式(10):组合模式
  7. 罗永浩:我今年四十八岁,还可以承受无数次的失败;iOS14 或将推出系统级「小程序」功能;​ PyCharm新版发布| 极客头条...
  8. 大学二年级各科的学习成绩
  9. 使用ActivityGroup来切换Activity和Layout,android入门开发与实战
  10. ad中按钮开关的符号_电工最常用电气元件实物及对应符号
  11. 论如何用电脑开手游辅助,实现QQ飞车自动跑图
  12. 高斯勒让德求积公式matlab通用程序,MATLAB软件及高斯勒让德求积公式.doc
  13. 程序员必读书籍排行榜,看看你读过的是否榜上有名
  14. stm32实验报告心得体会_stm32实训心得体会.docx
  15. 基于树莓派和LD3320模块的语音识别控制
  16. 数字音视频编解码技术标准工作组会员单位
  17. Human vs AI,人类和机器的学习究竟谁更胜一筹?
  18. windows系统文件名不能包含哪些字符
  19. 【胎教级数据结构】线性表4:不必道别,再见即是相见——循环链表
  20. python长整数相乘_Python中的分数与整数相乘

热门文章

  1. 5.1.4 SELECT+RIGHT JOIN读取数据
  2. Windows微秒级定时方法
  3. linux spf13 vim安装,Linux 下安装 spf13-VIM
  4. 动力环境监控系统论文_机房动力环境监控系统方案
  5. 【转】基于Token的身份验证原理
  6. Xshell安装sql报错:The GPG keys listed for the “MySQL 8.0 Community Server“ repository are already instal
  7. AdGuard广告拦截插件V3.6.6
  8. WordPress免费主题CorePress v4.9
  9. java集合转js数值_前端js调用接口转换Map数组数据
  10. 创建一列矩阵数字一样吗_吴恩达深度学习笔记(122) | NLP | 嵌入矩阵Embedding Matrix...