04-树4 是否同一棵二叉搜索树

题目

在这里插入图片描述

思路

二叉搜索树的建树操作

核心代码
typedef struct TreeNode* BST;
struct TreeNode{    
   int data;    
   BST left;    
   BST right;
};
BST insert(BST Tree,int data)
{    
   if(Tree==NULL){        
      Tree=(BT)malloc(sizeof(struct TreeNode));        
      Tree->data=data;        
      Tree->left=Tree->right=NULL;}    
   else{        
   if(data>Tree->data) Tree->right=insert(Tree->right,data);        
   if(data<Tree->data) Tree->left=insert(Tree->left,data);}        
   return Tree;
}
BST PlantTree(int N){    
   int data;    
   BST Tree;    
   Tree=(BST)malloc(sizeof(struct TreeNode));    
   scanf("%d",&data);    
   Tree->data=data;   
   Tree->left=Tree->right=NULL;    
   for(int i=1;i<N;i++){        
       scanf("%d",&data);        
       Tree=insert(Tree,data);}    
   return Tree;
}
int check(BTS T1,BST T2)
{        
   if(T1!=NULL&&T2!=NULL){        
     if(T1->data!=T2->data) return 0;        
     else return((check(T1->left,T2->left)==1)&&(check(T1->right,T2->right)==1)); 
   }    
   else{        
     if(T1==T2) return 1;        
     else return 0;    } 
}
/*有关答案存储,可采用队列*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值