码迷,mamicode.com
首页 > 其他好文 > 详细

【树】树的子结构

时间:2020-05-06 20:07:58      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:bool   iss   node   bsp   lse   nod   ==   sub   ||   

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

 

解答:

 1 class Solution {
 2     bool isSubtree(TreeNode* pRootA, TreeNode* pRootB) 
 3     {
 4         if (pRootB == NULL) 
 5         {
 6             return true;
 7         }
 8         if (pRootA == NULL) 
 9         {
10             return false;
11         }
12         if (pRootB->val == pRootA->val) 
13         {
14             return isSubtree(pRootA->left, pRootB->left)
15                 && isSubtree(pRootA->right, pRootB->right);
16         } 
17         else 
18         {
19             return false;
20         }
21     }
22 public:
23     bool HasSubtree(TreeNode* pRootA, TreeNode* pRootB)
24     {
25         if (pRootA == NULL || pRootB == NULL) 
26         {
27             return false;
28         }
29         return isSubtree(pRootA, pRootB) ||
30             HasSubtree(pRootA->left, pRootB) ||
31             HasSubtree(pRootA->right, pRootB);
32     }
33 };

 

【树】树的子结构

标签:bool   iss   node   bsp   lse   nod   ==   sub   ||   

原文地址:https://www.cnblogs.com/ocpc/p/12838178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!