判断两颗棵二叉树是否相等
生活随笔
收集整理的這篇文章主要介紹了
判断两颗棵二叉树是否相等
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
int CompTree(TreeNode *tree1, TreeNode *tree2)
{
bool isTree1Null = (tree1 == NULL);
bool isTree2Null = (tree2 == NULL);
//其中一個為NULL,而另一個不為NULL,肯定不相等
if (isTree1Null != isTree2Null)
return 1;
//兩個都為NULL,一定相等
if (isTree1Null && isTree2Null)
return 0;
//兩個都不為NULL,如果c不等,則一定不相等
if (tree1->c != tree2->c)
return 1;
//兩個都不為NULL,且c相等,則看兩棵子樹是否相等或者是否互換相等
return (CompTree(tree1->left, tree2->left)&CompTree(tree1->right, tree2->right))|
(CompTree(tree1->left, tree2->right)&CompTree(tree1->right, tree2->left));
}
總結
以上是生活随笔為你收集整理的判断两颗棵二叉树是否相等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zookpeer实现对服务器动态上下线的
- 下一篇: 计算机学生的未来