文章

60

粉丝

361

获赞

185

访问

541.7k

头像
递归大法
P1401 华中科技大学/中国科学院机试题
发布于2021年1月19日 15:56
阅读数 9.0k

1、前序遍历的第一元素是整个二叉树的根节点

2、中序遍历中根节点的左边的元素是左子树,根节点右边的元素是右子树

3、后序遍历的最后一个元素是整个二叉树的根节点

#include <iostream>
#include <string>
#include <string.h>
using namespace std;

void postorder(string preorder ,string midorder)
{
	if(preorder.size()==0)
		return;
	char root=preorder[0];
	int index=midorder.find(root);
	string preorderleft=preorder.substr(1,index);//下一个前序的左子树
	string preorderright=preorder.substr(index+1);//下一个前序的右子树
	string midorderleft=midorder.substr(0,index);//下一个中序的左子树
	string midorderright=midorder.substr(index+1);//下一个中序的右子树
	postorder(preorderleft,midorderleft);
	postorder(preorderright,midorderright);
	cout<<root;
}

int main()
{
	string preorder,midorder;
	while(cin>>preorder>>midorder)
	{
		postorder(preorder ,midorder);
		cout<<endl;
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

3 条评论
GENARDING
2025年3月15日 20:51

牛啊!在这里写半天,不如真正的大佬带来的震撼

赞(0)
xiao菜
2025年3月11日 20:37

我无话可说,一个字:佬!

赞(0)
Cookie‘s AE86
2024年3月26日 09:12

简单明了yes

赞(1)