lc98-判断二叉搜索树

#include
#include
using namespace std;
int min1=-99999999;
typedef struct node{
    int data;
    node *lchild;
    node *rchild;
}bitree;
bitree *precreate(){
    bitree *T;
    int c;
    scanf("%d",&c);
    if(c==0){
        return NULL;
    }
    else{
        T=(bitree*)malloc(sizeof(bitree));
        T->data=c;
        T->lchild=precreate();
        T->rchild=precreate();
    }
    return T;
}
void pre(bitree *T){
    if(T!=NULL){
        printf("%d",T->data);
        pre(T->lchild);
        pre(T->rchild);
    }
}

bool idVdlisdBST(bitree *T){
    if(T==NULL){
        return true;
    }
    else{
        if(idVdlisdBST(T->lchild)){
            if(min1data){
                min1=T->data;
                return idVdlisdBST(T->rchild);
            }

        }
    }
    return false;
}
void main(){
    bitree *T=precreate();
    if(idVdlisdBST(T)){
        printf("yes");
    }
    else{
        printf("no");
    }
}

你可能感兴趣的:(lc98-判断二叉搜索树)