1339:【例3-4】求后序遍历

2022/3/19 23:39:26

本文主要是介绍1339:【例3-4】求后序遍历,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  • 传送门
  • 难度还过得去
  • 给定先序和中序,求后序排列
  • 建议对照白书自己多推几遍
  • 具体代码很短,注意范围就好
#include<bits/stdc++.h>
using namespace std;
string a,b;
void hou(int la,int ra,int lb,int rb){//范围:a[la~ra],b[lb~rb]
	int m=b.find(a[la]);//b.find(a[la]):a[la]在b中的位置
	if(m>lb)//搜索m前
		hou(la+1,la+m-lb,lb,m-1);//注意范围
	if(m<rb)//搜索m后
		hou(la+m-lb+1,ra,m+1,rb);//注意范围
	cout<<a[la];
}
int main()
{
	cin>>a>>b;
	hou(0,a.size()-1,0,b.size()-1);//开始遍历
	cout<<endl;
	return 0;
}
  • emmmm……发文助手说我文章篇幅过短?
  • 等我多说两个字啊
  • 所以到底哪里不行啊啊啊啊啊
  • 我说我含水量高可以,你不行!!!
  • (双标不好吗)(不好)
  • 行了,终于能过的去了


这篇关于1339:【例3-4】求后序遍历的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程