文章

35

粉丝

93

获赞

51

访问

13.1k

头像
二叉树遍历 题解:c++注意超时问题
P1161 清华大学/南京大学2018机试题
发布于2024年1月17日 15:33
阅读数 822

#include <bits/stdc++.h>
using namespace std;
string s;
int len;
typedef struct node{
	char data;
	struct node *lchild;
	struct node *rchild;
}*biTree;
void preCreate(biTree &T){
		if(len>=s.length()) return;
    	char c = s[len++];
		if(c=='#') T=NULL;
		else{
			T=new node;
			T->data = c;
			T->lchild=NULL;
			T->rchild=NULL;//在这个平台没有这两句会超时,但是在牛客网相同的题目,却可以AC
			preCreate(T->lchild);
			preCreate(T->rchild);
		
		}
}
void inOrder(biTree T){
	if(T==NULL) return;
	inOrder(T->lchild);
	cout<<T->data<<" ";
	inOrder(T->rchild);
}
int main(){
	
	while(cin>>s){
		len=0;
		biTree T;
		preCreate(T);
		inOrder(T);
		cout<<endl;
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发