uva 536 - Tree Recovery
1586 단어 tree
사고: 데이터 구조 분석: 1 문 제 는 앞 순서 서열 과 중간 순서 서열 을 정 하고 이 진 트 리 의 뒤 순서 서열 2 에 이 진 트 리 를 만 들 고 직접 출력 을 옮 겨 다 니 면 됩 니 다. 누 드 문제 코드:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int MAXN = 30;
char preOrder[MAXN];
char midOrder[MAXN];
struct Node{
char c;
Node *left;
Node *right;
Node(char c){
this->c = c;
this->left = left;
this->right = right;
}
};
Node *root;
Node* createTree(char *pre , char *mid , int len){
if(len == 0)
return NULL;
int k = 0;
while(mid[k] != pre[0])
k++;
Node *root = new Node(pre[0]);
root->left = createTree(pre+1 , mid , k);
root->right = createTree(pre+k+1 , mid+k+1 , len-k-1);
return root;
}
void output(Node *u){
if(u != NULL){
output(u->left);
output(u->right);
printf("%c" , u->c);
}
}
void solve(){
int len = strlen(preOrder);
root = createTree(preOrder , midOrder , len);
output(root);
puts("");
}
int main(){
while(scanf("%s" , preOrder) != EOF){
scanf("%s" , midOrder);
solve();
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
이진 트리 가지치기이진 트리의 root가 주어지면 1을 포함하지 않는 (지정된 트리의) 모든 하위 트리가 제거된 동일한 트리를 반환합니다. 노드node의 하위 트리는 node에 node의 자손인 모든 노드를 더한 것입니다. 이 문제는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.