PTA:后序遍历生成层序遍历 序列


int n;
array<int, 100>sav;

//后序遍历 :左 右 根
//
void f(int m)
{
	if ( m > n )
		return;
	f(2 * m);//先读入左节点
	f((2 * m + 1));//读入右节点
	cin >>sav[m];//读入根节点
}


int main(int args, char** argv)
{
	/*ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin.tie(nullptr);*/
	cin >> n;
	f(1);
	cout << sav[1];
	ifor(i, 2, n)
	{
		cout <<" "<< sav[i];
	}
	return 0;
}

posted @ 2022-11-01 01:40  noob-lian  阅读(19)  评论(0)    收藏  举报
Language: