한 그루의 나무의 전차적 역류와 중차적 역류에 따라 두 갈래 나무를 구성한다.

6387 단어
  • 한 그루의 나무의 전차 역력과 중차 역력에 따라 두 갈래 나무를 구성한다.주의: 트리에 중복된 요소가 없다고 가정할 수 있습니다.
  • struct TreeNode* _buildTree(int* preorder,int* ppindex,int* inorder,int 
    inbegin,int inend){
      if (inbegin>inend)// 
        return NULL;
      // , 
      struct TreeNode* root = (struct TreeNode*)malloc(struct TreeNode);
      root->val=preorder[*ppindex];
      ++(*ppinedx);
      
      if(inbegin==inend)// ( )
       {
        root->left=NULL;
        root->right=NULL;// , , !!
          return root;
       }
      
      int rootindex=inbegin;
      while(inorder[rootindex]!=root->val)
      {
        ++rootindex;
      }
    
      root->left= _buildTree(preorder,ppindex,inorder,inbegin,rootindex-1);
      root->right= _buildTree(preorder,ppindex,inorder,rootindex+1,inend);
       return root;
     }
      
    struct TreeNode* buildTree(int* preorder, int preorderSize, int* inorder,
     int inorderSize) {
      if (inorderSize==0)
        return NULL;
      return _buildTree(preorder,&ppindex,inorder,0,inorderSize-1);
     }
    
    

    좋은 웹페이지 즐겨찾기