判斷兩棵二叉樹是否為同一棵樹,需要比較兩個方面:
一:結構是否相同;
二:每個節點上的元素是否相同;
當二者都滿足的時候才可判定二者為同一棵二叉樹。
結構相同包括節點的個數以及每個節點上的子樹相同。
下面是**實現。
#include
using namespace std;
typedef struct node* tnode;
struct node;
void print(tnode t);
tnode buildtree(tnode t, int n); //建立二叉樹
tnode insert(tnode t,int i); //在樹中插入乙個元素
bool compare(tnode t1, tnode t2); //比較兩個二叉樹是不是同一棵樹
int main()
cin >> n;
}return0;}
tnode buildtree(tnode t, int n)
return t;
}tnode insert(tnode t,int i)
else
return t;
}bool compare(tnode t1, tnode t2)
else
if(t1==
null
&& t2==
null) //如果都是空樹,二者相同
return
true;
else
return
false; //其他情況,二者不同
}
```
判斷兩個二叉樹是否相同
判斷兩個二叉樹是否相同 遞迴解法 public boolean issametreerec treenode p,treenode q if p null q null else else else 第一次寫了乙個是這樣的,自己覺得也可以,提交時不能ac,想了下根本是自己演算法立足點不對,分享下 對...
比較兩個二叉樹是否相同
也許你看過書,也許你背過 都不重要。重要的是,你能將你看過的變成自己的想法,然後實現它 不在其他 的陰影下活著,讓你的 舞動起來!也許 可能看起來有點不簡潔 思想 可以按照遞迴的思路進行,左子樹是否相等,右子樹是否相等進行遍歷 bool equal btnode pa,btnode pb if pa...
判斷二叉樹是否相同
判斷二叉樹是否相同 當root1的左子樹與root2的左子樹相同,root1的右子樹與root2的右子樹相同時,這兩顆二叉樹相同。當root1的左子樹與root2的右子樹相同,root1的右子樹與root2的左子樹相同時,這兩顆二叉樹同樣相同。1 bool isequals bnode root1,...