zoukankan      html  css  js  c++  java
  • pat1020

      

    #include<stdio.h>
    #include<stdlib.h>
    #include<queue> 
    typedef struct node{
    	int value;
    	struct node* left;
    	struct node* right;
    }node;
    using namespace std;
    
    
    node* f(int in[],int post[],int length){
    	node* root=(node*)malloc(sizeof(node));
    	root->value=post[length-1];
    	int flag;
    	for(int i=0;i<length;i++){
    		if(post[length-1]==in[i]){
    			flag=i;
    			break;
    		}
    	}
    	
    	if(flag!=0){
    		root->left=f(in,post,flag);
    	}
    	else
    		root->left=NULL;
    	
    	if(length-flag-1!=0){
    		root->right=f(in+flag+1,post+flag,length-flag-1);
    	}
    	else
    		root->right=NULL;
    			
    	return root;
    }
    
    void traversal(node* root){
    	int flag=0;
    	queue<node*> q;
    	q.push(root);
    	while(q.empty()==false){
    		node* tmp=q.front();
    		q.pop();
    		if(tmp->left)
    			q.push(tmp->left);
    		if(tmp->right)
    			q.push(tmp->right);
    	
    		if(flag==0){
    			flag=1;
    		}
    		else
    			printf(" ");
    		
    		printf("%d",tmp->value);
    	}
    	 
    }
    
    int main(){
    	int n;
    	scanf("%d",&n);
    	int post[n],in[n];
    	for(int i=0;i<n;i++){
    		scanf("%d",post+i);
    	}
    	for(int i=0;i<n;i++){
    		scanf("%d",in+i);
    	}
    	
    	node* root=f(in,post,n);
    	traversal(root);
    	return 0;
    } 
    

      

  • 相关阅读:
    获取窗口句柄
    LeetCode Q136 Single Number(Medium)
    异或
    Ring3层的鼠标和键盘Hook
    Java—Applet
    Java—常用数据类型
    Java—接口与抽象类
    Java 概述
    Java—类的封装、继承与多态
    Windows—JDK安装与环境变量配置
  • 原文地址:https://www.cnblogs.com/lsj2020/p/6517248.html
Copyright © 2011-2022 走看看