[Jobdu] 题目1520:树的子结构
2015-08-06 17:04
369 查看
题目描述:
输入两颗二叉树A,B,判断B是不是A的子结构。注:B为空树时不为任何树的子树
下面给出判断B树是A树的子结构的主要代码:
输入两颗二叉树A,B,判断B是不是A的子结构。注:B为空树时不为任何树的子树
typedef struct BTNode{ int key; struct BTNode *rchild; struct BTNode *lchild; }BTNode;
下面给出判断B树是A树的子结构的主要代码:
bool compare(BTNode *t1, BTNode *t2) { if (!t2) return true; if (!t1) return false; if (t1->key != t2->key) return false; return compare(t1->lchild, t2->lchild) && compare(t1->rchild, t2->rchild); } bool isSubtree(BTNode *t1, BTNode *t2) { bool flag = false; if (t1 && t2) { if (t1->key == t2->key) flag = compare(t1, t2); if (!flag) flag = isSubtree(t1->lchild, t2); if (!flag) flag = isSubtree(t2->rchild, t2); } return flag; }
相关文章推荐
- 适配器模式的应用
- Activity被回收导致fragment的getActivity为空
- 文件的存取
- CF 567B(Berland National Library-看成折线图)
- Android 自定义View (一)
- SecureCRT上传、下载文件命令sz与rz用法实例
- Android Http请求框架二:xUtils 框架网络请求
- 随机数----srand,rand
- Extjs4 grid 鼠标响应事件
- JUnit4概述
- 消息分发机制。
- 百度地图 Fragment之间切换黑屏现象解决方案
- GraphX 实现K-Core
- Max Sum
- STL中 map的用法
- HDU 4229 Vive la Difference!
- 其他主机连接本地主机Tomcat会出现的防火墙问题
- 在Eclipse中使用JUnit4进行单元测试(高级篇)
- 《Objective-C基础教程》第3章 面向对象编程的基础知识
- LightOJ 1051 Good or Bad