<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      PAT A1086 Tree Traversals Again (25分)



      要認清該題的本質是已知先序序列和中序序列,求后序序列

      #include<cstdio>
      #include<stack>
      #include<vector>
      #include<string.h>
      using namespace std;
      const int N = 31;
      struct node{
          int v;
          int left=-1;
          int right=-1;
      }Node[N];//Node[add].v = add;一一映射
      vector<int> preOrder,inOrder,postOrder;
      //[pL,pR],[inL,inR]
      int maketree(int pL,int pR ,int inL,int inR){
          if(pL <= pR){
              int root = preOrder[pL];
              Node[root].v = preOrder[pL];
              for(int i = inL;i <= inR;i++){
                  if(Node[root].v==inOrder[i]){
                      int c = i - inL;
                      Node[root].left=maketree(pL+1,pL+c,inL,i-1);
                      Node[root].right=maketree(pL+c+1,pR,i+1,inR);
                  } 
              }
              return root;
          }
          return -1;
      }
      
      void postOrderf(int root){
          if(root == -1) return ;
          postOrderf(Node[root].left);
          postOrderf(Node[root].right);
          postOrder.push_back(Node[root].v);
      }
      
      int main(){
          int n;
          scanf("%d",&n);
          int root;
          char type[5];
          stack<int> st;
          for(int i = 0;i < 2*n;i++){//讀入n個數字
              int id;
              scanf("%s",type);
              if(strcmp(type,"Push")==0){
                  scanf("%d",&id);
                  preOrder.push_back(id);
                  st.push(id);
              }else{
                  if(st.empty()==false){//非空
                      int top = st.top();
                      st.pop();
                      inOrder.push_back(top);
                  }
              }
          }
          //得到先序遍歷和中序遍歷,建立樹
          int len = preOrder.size();
          root = maketree(0,len-1,0,len-1);
          postOrderf(root);
          for(int i = 0;i<len;i++){
              printf("%d",postOrder[i]);
              if(i!=len-1) printf(" ");
          }
          return 0;
      }
      
      posted @ 2020-09-02 22:15  是水泵呢  閱讀(107)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久99国产精品久久99| 亚洲日韩av无码中文字幕美国 | 99久久婷婷国产综合精品青草漫画| 亚洲春色在线视频| 国产在线拍揄自揄拍无码视频| 国产自产视频一区二区三区| 日本熟妇色xxxxx| 久久综合亚洲色一区二区三区| 久久精品熟女亚洲av艳妇| 无码专区一va亚洲v专区在线| 国产农村乱人伦精品视频| 欧美一区二区三区性视频| 国产偷自一区二区三区在线| 精品日韩人妻中文字幕| 老司机午夜精品视频资源| 尤物国产精品福利在线网| 韩国av无码| 亚洲粉嫩av一区二区黑人| 国内精品久久久久精免费| 亚欧洲乱码视频在线观看| 边添小泬边狠狠躁视频| 青青草国产线观看| 在线 欧美 中文 亚洲 精品| 亚洲精品韩国一区二区| 国产国语一级毛片| 久久久久免费看成人影片| 国产亚洲精品AA片在线爽| 国产一区在线观看不卡| 国产精品不卡一区二区三区| 少妇被粗大的猛进69视频| 久久综合九色综合久桃花| 精品中文人妻在线不卡| 国产欧美精品aaaaaa片| 久久精产国品一二三产品| 亚洲综合精品第一页| 内射干少妇亚洲69XXX| 午夜人成免费视频| 久热这里有精彩视频免费| 国产人妇三级视频在线观看| 亚洲日韩欧美丝袜另类自拍 | 亚洲欧美综合中文|