文章
8
粉丝
14
获赞
1
访问
9.0k
个人认为是很好理解的一份代码
①逐个元素的插入--构BST
②判断是否相同的isCommon函数
//AC代码
#include<bits/stdc++.h>
using namespace std;
struct node {
char val;
node* left;
node* right;
node() {}
node(char x) : val(x), left(nullptr), right(nullptr) {}
};
//构造BST的函数
void insertBiTree(node* &root, int n) {
if(root == nullptr) {
root = new node(n);
return;
}
if(root->val == n)
return;
else if(root->val > n) {
insertBiTree(root->left, n);
}
else {
insertBiTree(root->right, n);
}
}
//判断两个BST是否完全相同
bool isCommon(node* r1, node* r2) {
if(r1 == nullptr && r2 == nullptr)
return true;
if(r1 == nullptr || r2 == nullptr)
return false;
if(r1->val != r2->val)
return false;
return isCommon(r1->left, r2->left) && isCommon(r1->right, r2->right);
}
int main()
{
int n;
while(cin >> n) {
if(n == 0)
break;
vector<node*> root...
登录后发布评论
暂无评论,来抢沙发