首页 > 其他 > 详细

树的子结构

时间:2014-04-28 02:47:33      阅读:485      评论:0      收藏:0      [点我收藏+]

输入2棵二叉树A和B,判断B是不是A的子结构。

1 struct BinaryTreeNode //节点
2 {
3     int m_nValue;
4     BinaryTreeNode* m_pLeft;
5     BinaryTreeNode* m_pRight;
6 };
bubuko.com,布布扣
 1 bool DoseTree1HaveTree2(BinaryTreeNode* pRoot1 ,BinaryTreeNode* pRoot2)
 2 {
 3     
 4     if (pRoot2 == NULL)
 5     {
 6         return true ;
 7     }
 8     if (pRoot1 == NULL)
 9     {
10         return false ;
11     }
12     if (pRoot1->m_nValue != pRoot2->m_nValue)
13     {
14         return false ;
15     }
16 
17     return DoseTree1HaveTree2(pRoot1->m_pLeft , pRoot2->m_pLeft) && DoseTree1HaveTree2(pRoot1->m_pRight ,pRoot2->m_pRight) ;
18 }
19 bool HasSubtree(BinaryTreeNode* pRoot1 ,BinaryTreeNode* pRoot2)
20 {
21     bool result = false ;
22     if (pRoot1 && pRoot2)
23     {
24         if (pRoot1->m_nValue == pRoot2->m_nValue)
25         {
26             result = DoseTree1HaveTree2(pRoot1 , pRoot2);
27         }
28         if (!result)
29         {
30             result = HasSubtree(pRoot1->m_pLeft , pRoot2);
31         }
32         if (!result)
33         {
34             result = HasSubtree(pRoot1->m_pRight , pRoot2);
35         }        
36     }
37 
38     return result ;
39 }
bubuko.com,布布扣

 

树的子结构,布布扣,bubuko.com

树的子结构

原文:http://www.cnblogs.com/csxcode/p/3695102.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!