1.问题1 给一个树的中序遍历,与后序遍历,要你输出前序遍历.下面直接给出核心代码.
void dfs(int L1,int R1,int L2,int R2){
if(L1>R1) return ;
char root=post[R2]; int p=0;coutx) a[n++]=x;
return n>0;
}
妙啊. 不知道读入个数,但知道输入数据只有一行,直接用getline函数. 用法是getline(cin,变量) 如果读不到数据,就返回NULL(也就是0) stringstream 好啊,自动识别类型 这函数还顺带统计了·有多少个数字(n-1)
Ac code:
#include
#include
#include
#include
using namespace std;
const int maxv=10000+10;
int in_order[maxv],post_order[maxv],lch[maxv],rch[maxv],n;int ans,minsum;
bool rread(int *a){ string line;
while(!getline(cin,line)) return false;
int x;n=0;
stringstream ss(line);
while(ss>>x) a[n++]=x;
return n>0;
}
int rec(int L1,int R1,int L2,int R2){
if(L1>R1) return 0;
int root=post_order[R2];int p=0;
while(in_order[p]!=root) p++;
int cnt=p-L1;
lch[root]=rec(L1,p-1,L2,L2+cnt-1);
rch[root]=rec(p+1,R1,L2+cnt,R2-1);
return root;
}
void dfs(int u,int sum){
sum+=u;
if(!lch[u]&&(!rch[u])){
if((sum
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?