class Solution {
public:
bool check(vector<int>& sequence,int l,int r)
{
if(l>r)
{
return true;
}
int root=sequence[r];
int j=r;
while(j>=0&&sequence[j]>=root)
{
j--;
}
for(int i=l;i<=j;i++)
{
if(sequence[i]>=root)
{
return false;
}
}
return check(sequence,l,j)&&check(sequence,j+1,r-1);
}
bool VerifySquenceOfBST(vector<int> sequence) {
if(sequence.empty())
{
return false;
}
return check(sequence,0,sequence.size()-1);
}
};



京公网安备 11010502036488号