博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指offer之【树的子结构】
阅读量:5106 次
发布时间:2019-06-13

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

题目:

  树的子结构

链接: 

  https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&tqId=11170&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题目描述:

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

思路:

  分为两步:

     第一步:用HasSubtree 搜索与子树根节点值相同的点(递归查找),如果找到则进行第二步。

     第二步:用isSubtree搜索子树是否是大树的子树,

代码:

  

1 /* 2 struct TreeNode { 3     int val; 4     struct TreeNode *left; 5     struct TreeNode *right; 6     TreeNode(int x) : 7             val(x), left(NULL), right(NULL) { 8     } 9 };*/10 class Solution{11 public:12     bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2){13         bool result = false;14         if(pRoot2 == nullptr)15               return false;16         if(pRoot1 == nullptr)17               return false;18         if(pRoot1->val == pRoot2->val){19             result = isSubtree(pRoot1,pRoot2);20         }21         if(!result){22             result = HasSubtree(pRoot1->left,pRoot2)|| HasSubtree(pRoot1->right, pRoot2);23         }24         return result;25     }26     bool isSubtree(TreeNode* root1, TreeNode* root2){27         if(root2 == nullptr)28               return true;29         if(root1 == nullptr)30             return false;31         if(root1->val != root2->val)32               return false;33         else34               return isSubtree(root1->left,root2->left)&& isSubtree(root1->right,root2->right);35     }36 };

 

  

转载于:https://www.cnblogs.com/wangshujing/p/6935462.html

你可能感兴趣的文章
MySQL表的四种分区类型
查看>>
[BZOJ 3489] A simple rmq problem 【可持久化树套树】
查看>>
STM32单片机使用注意事项
查看>>
swing入门教程
查看>>
好莱坞十大导演排名及其代表作,你看过多少?
查看>>
Loj #139
查看>>
StringBuffer是字符串缓冲区
查看>>
hihocoder1187 Divisors
查看>>
java入门
查看>>
Spring 整合 Redis
查看>>
Azure 托管镜像和非托管镜像对比
查看>>
JSP:Cookie实现永久登录(书本案例)
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
前端监控
查看>>
clipboard.js使用方法
查看>>
0906第一次作业
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>