读书人

再谈poj2255_答题报告

发布时间: 2013-01-26 13:47:03 作者: rapoo

再谈poj2255_解题报告

上一篇解题报告的解法是比较简单,但并不精巧

而下面的代码是更精巧的代码(代码源于是一位名为sgxiao的师兄)


#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct Node{char ch;struct Node *left;struct Node *right;}Node; char mid[27];char pre[27];int n = -1;void make_tree(int i, int j);int main(void){int i, j, k;while(scanf("%s%s", pre, mid) == 2) {make_tree(0, strlen(pre) - 1);printf("\n");n = -1;}return 0;}void make_tree(int i, int j){  int k;  if(i > j) return;  n++;  for(k = i; k <= j; k++) {    if(pre[n] == mid[k]) {      break;    }  }  make_tree(i, k - 1);  make_tree(k + 1, j);  printf("%c", mid[k]);}

读书人网 >其他相关

热点推荐