首页 > 其他 > 详细

树的子结构

时间:2014-09-20 11:08:28      阅读:245      评论:0      收藏:0      [点我收藏+]

引用剑指offer

 1 //判断以root1为根的树是否和树2有相同的结构(如果为真,必须从root1节点就相同)
 2 bool doesRoot1HaveAllNodesOfRoot2(treeNode* root1,treeNode* root2){
 3     if(root2==NULL)
 4         return true;
 5     if(root1==NULL)
 6         return false;
 7     if(root1->data!=root2->data)
 8         return false;
 9     return doesRoot1HaveAllNodesOfRoot2(root1->lChild,root2->lChild)&&
10         doesRoot1HaveAllNodesOfRoot2(root1->rChild,root2->rChild);
11 }
12 //判断是否为子结构
13 bool isSubStructure(treeNode* root1,treeNode* root2){
14     if(root2==NULL)
15         return true;
16     if(root1==NULL)
17         return false;
18     bool found=doesRoot1HaveAllNodesOfRoot2(root1,root2);
19     if(!found && root1->lChild!=NULL)
20         found=doesRoot1HaveAllNodesOfRoot2(root1->lChild,root2);
21     if(!found && root1->rChild!=NULL)
22         found=doesRoot1HaveAllNodesOfRoot2(root1->rChild,root2);
23     return found;
24 }

 

树的子结构

原文:http://www.cnblogs.com/liuzhiminxd/p/3983022.html

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