博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
拓扑结构相同子树练习题
阅读量:4070 次
发布时间:2019-05-25

本文共 786 字,大约阅读时间需要 2 分钟。

题目传送门://

题目描述

对于两棵彼此独立的二叉树A和B,请编写一个高效算法,检查A中是否存在一棵子树与B树的拓扑结构完全相同。

给定两棵二叉树的头结点AB,请返回一个bool值,代表A中是否存在一棵同构于B的子树。

时间复杂度为O(N+M);

AC 代码

struct TreeNode {    int val;    struct TreeNode *left;    struct TreeNode *right;    TreeNode(int x) :    val(x), left(NULL), right(NULL) {    }};class IdenticalTree {    string getTreeStr(TreeNode *t){        if(!t)            return "!";        string res;        char  p[15];        sprintf(p,"%d!",t->val);        res+=p;        res+=getTreeStr(t->left);        res+=getTreeStr(t->right);        return res;    }public:    bool chkIdentical(TreeNode* A, TreeNode* B) {        string str1 = getTreeStr(A),str2 = getTreeStr(B);        int pos =(int)str1.find(str2);        if(pos==-1)            return false;        else            return true;    }};

转载地址:http://shhji.baihongyu.com/

你可能感兴趣的文章
简单理解Socket及TCP/IP、Http、Socket的区别
查看>>
利用HTTP Cache来优化网站
查看>>
利用负载均衡优化和加速HTTP应用
查看>>
消息队列设计精要
查看>>
分布式缓存负载均衡负载均衡的缓存处理:虚拟节点对一致性hash的改进
查看>>
分布式存储系统设计(1)—— 系统架构
查看>>
MySQL数据库的高可用方案总结
查看>>
常用排序算法总结(一) 比较算法总结
查看>>
SSH原理与运用
查看>>
SIGN UP BEC2
查看>>
S3C2440中对LED驱动电路的理解
查看>>
《天亮了》韩红
查看>>
Windows CE下USB摄像头驱动开发(以OV511为例,附带全部源代码以及讲解) [转]
查看>>
出现( linker command failed with exit code 1)错误总结
查看>>
iOS开发中一些常见的并行处理
查看>>
iOS获取手机的Mac地址
查看>>
ios7.1发布企业证书测试包的问题
查看>>
如何自定义iOS中的控件
查看>>
iOS 开发百问
查看>>
Mac环境下svn的使用
查看>>