思路1:循环判断。最右边的是根节点。每次都记录下节点个数先小于再大于最右边节点的个数,若小于size-1.则说明不满足。
class Solution {
public:
bool VerifySquenceOfBST(vector<int> sequence) {
if(sequence.size()==0) return false;
int size = sequence.size()-1;
int i=0;
//小大中,i用来统计小 和 大 的个数,如果小+大的个数 是小于size-1的,说明不满足情况。
while(size>0)
{
while(sequence[i]<sequence[size])
i++;
while(sequence[i]>sequence[size])
i++;
if(i<size)
return false;
i=0;
size--;
}
return true;
}
};