判断二叉搜索树的后序遍历序列

xiaoxiao2021-02-28  12

bool VerifySquenceOfBST(int sequence[],int length) { if(sequence==NULL||length<=0) return false; int root=sequence[length-1]; //在二叉搜索树中左子树的结点小于根结点 int j=i; for(;j<length-1;++j) { if(sequence[i]>root) break; } //在二叉搜索树中右子树的结点大于根结点 int j=i; for(;j<length-1;++j) { if(sequence[j]<root) return false; } //判断左子树是不是二叉搜索树 bool left=true; if(i>0) left=VerifySequenceOfBST(sequence,i); //判断右子树是不是二叉搜索树 bool right=true; if(i<length-1) right=VerifySequenceOfBST(sequence+i,length-i-1); return (left&&right); }
转载请注明原文地址: https://www.6miu.com/read-2000259.html

最新回复(0)