Учитывая два двоичных дерева поиска, напишите функцию, которая сообщает, являются ли два таких дерева одинаковыми - (т.е. одинаковая информация в узлах, одно и то же ветвление слева и справа в каждом узле).
Выполните поиск в ширину или глубину по обоим деревьям и проверьте каждый узел на равенство при выполнении итерации.
Попробуйте это:
bool bst::isequal1(node *& root1,node *& root2) { if(root1==NULL && root2==NULL) { return true;} if( (root1==NULL && root2!=NULL) || (root1!=NULL && root2==NULL) ) { return false; } if( (root1->data) != (root2->data) ) { return false; } return ( isequal1(root1->left,root2->left) && isequal1(root1->right,root2->right)); }