BSTの前系列からBSTの後系列を得る
446 ワード
問題のようです.
コードの例
コードの例
vector pre, post;
void getPost(int root, int tail)
{
if(root > tail)
return;
int i = root+1, j=tail;
while(i<=tail && pre[i] < pre[root])
++i;
while(root= pre[root])
--j;
if(i-j != 1)// ,
return;
getPost(root+1, j);
getPost(i, tail);
post.push_back(pre[root]);
}
int main()
{
getPost(0, n-1);
return 0;
}