给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。

示例 1:

给定的树 s:

3 / \ 4 5 / \ 1 2

给定的树 t:

4 / \ 1 2

返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。

示例 2:

给定的树 s:

3 / \ 4 5 / \ 1 2 / 0

给定的树 t:

4 / \ 1 2

返回 false。

class Solution {
public:
bool isSubtree(TreeNode* s, TreeNode* t)
{
if(s == NULL)
return false;
if(s ->val == t ->val)
if(isSame(s, t))
return true;
return isSubtree(s ->left, t) || isSubtree(s ->right, t);
} bool isSame(TreeNode* s, TreeNode* t)
{
if(s == NULL && t == NULL)
return true;
else if(s != NULL && t != NULL)
{
if(s ->val != t ->val)
return false;
return isSame(s ->left, t ->left) && isSame(s ->right, t ->right);
}
else
return false;
}
};

最新文章

  1. DropDownList 下拉框选择改变,促发事件和防全局刷新(记录)
  2. 初识Lucene.net
  3. [转]jQuery: how to get which button was clicked upon form submission?
  4. 用js判断页面是否加载完毕
  5. Android内存进程管理机制
  6. VMware学习笔记(一)
  7. 「2013-9-14」Change Remote Desktop Port
  8. 理解js中的自由变量以及作用域的进阶
  9. Spring AOP 针对注解的AOP
  10. 一个简单的Java程序例子以及其几种注释
  11. 查看本机IP地址及子网掩码(netmask)
  12. centos 6安装报错
  13. SQL-SERVER2008登录错误233
  14. C++箴言:避免构造或析构函数中调用虚函数
  15. leetcode第一刷_Set Matrix Zeroes
  16. 201521123059 《Java程序设计》第十四周学习总结
  17. C# 值类型与引用类型的异同
  18. Gradle 1.12用户指南翻译——第五十二章. Maven 插件
  19. ThinkAdmin for PHP后台管理系统
  20. Qt控制流简析

热门文章

  1. Centos--swoole平滑重启服务
  2. System.Web.Mvc.PartialViewResult.cs
  3. day 47 前端基础之BOM和DOM
  4. matlab-变量类型-数组-矩阵
  5. Swoole协程报错 Uncaught Error: Call to undefined function go()
  6. 图解nginx配置文件nginx.conf
  7. c++设计模式:观察者模式
  8. PAT甲级——A1024 Palindromic Number
  9. CCS开发指南
  10. Eureka Instance实例信息配置