也許你看過書,也許你背過**,都不重要。重要的是,你能將你看過的變成自己的想法,然後實現它(不在其他**的陰影下活著,讓你的**舞動起來!),也許**可能看起來有點不簡潔
思想:
可以按照遞迴的思路進行,左子樹是否相等,右子樹是否相等進行遍歷
bool equal(btnode *pa, btnode *pb)
if (pa->rightchild !=
null
&& pb->rightchild !=
null)
if (pa->rightchild ==
null
&& pb->rightchild ==
null
|| pa->leftchild ==
null
&& pb->leftchild ==
null)
return
true;
if (pa->rightchild ==
null
&& pb->rightchild !=
null
|| pa->rightchild !=
null
&& pb->rightchild ==
null
|| pa->leftchild !=
null
&& pb->leftchild ==
null
|| pa->leftchild ==
null
&& pb->leftchild !=
null)
return
false;
//return false;
}
二叉樹4 比較兩個二叉樹的結構是否相同
問題 給兩棵二叉樹的根節點,判斷他們的結構是否相同。bool issamestruct treenode node1,treenode node2 這是王生生寫的演算法,比我的簡潔100倍,雖然沒有執行驗證,但基本沒問題。最後一行有個技巧,如果 左邊的issamestruct返回的是false,根據...
判斷兩個二叉樹是否相同
判斷兩個二叉樹是否相同 遞迴解法 public boolean issametreerec treenode p,treenode q if p null q null else else else 第一次寫了乙個是這樣的,自己覺得也可以,提交時不能ac,想了下根本是自己演算法立足點不對,分享下 對...
判斷兩個二叉樹是否相同(c 遞迴實現)
判斷兩棵二叉樹是否為同一棵樹,需要比較兩個方面 一 結構是否相同 二 每個節點上的元素是否相同 當二者都滿足的時候才可判定二者為同一棵二叉樹。結構相同包括節點的個數以及每個節點上的子樹相同。下面是 實現。include using namespace std typedef struct node ...