社区讨论
你觉得有可能出现这种情况吗???(在那个else语句里面)
P1229遍历问题参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo8fnfdd
- 此快照首次捕获于
- 2023/10/27 17:50 2 年前
- 此快照最后确认于
- 2023/10/27 17:50 2 年前
CPP
#include<iostream>
#include<string>
using namespace std;
int ans=1;
void dfs(const string& preOrder,int begin,int end,const string& postOrder,int rbegin,int rend){
if(begin>=end){return;}
if(rbegin<=rend){return;}
if(begin+1==end){
if(preOrder[begin]==postOrder[rbegin]){
return;
}
else{
**//这里
//是否会出现这种情况???**
cout<<"Do not exist this case"<<endl;
return;
}
}
else{
int cut=-1;
for(int i=rbegin;i>rend;i--){
if(postOrder[i]==preOrder[begin+1]){
cut=i;
break;
}
}
if(cut==rbegin-1){
ans*=2;
}
dfs(preOrder,begin+1,begin+1+(cut-rend),postOrder,cut,rend);
dfs(preOrder,begin+1+(cut-rend),end,postOrder,rbegin-1,cut);
}
}
int main(){
string preOrder,postOrder;
cin>>preOrder>>postOrder;
dfs(preOrder,0,preOrder.length(),postOrder,postOrder.length()-1,-1);
cout<<ans<<endl;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...