题目:判定两棵二叉树是否相似的算法,若相似,算法返回1,否则返回0。
解题思路:该算法利用二叉树的前序遍历操作对两棵二叉树进行测试。
具体算法如下:
这里使用到建立二叉树方法createBT(strBT)
function similar( BT1, BT2 ) {
if ( !BT1 && !BT2 ) {
return 1;
}
if ( BT1 && BT2 && similar(BT1.lchild, BT2.lchild) && similar(BT1.rchild, BT2.rchild) ) {
return 1
}
return 0
}
var strBT="A(B(D,E(G)),C(F(,H)))@"
var BT1 = createBT(strBT)
var BT2 = createBT(strBT)
similar( BT1, BT2 )
网友评论