Java 使用后序+;有序

Java 使用后序+;有序,java,recursion,tree,traversal,preorder,Java,Recursion,Tree,Traversal,Preorder,您好,我正在打印前序树遍历,只有顺序和后序遍历。执行此操作的代码如下所示: public static void preorder( int inorder[], int inostart, int postorder[], int poststart, int length) { if(length==0) return; //terminating condition int k=0; System.out.print(postorder[l

您好,我正在打印前序树遍历,只有顺序和后序遍历。执行此操作的代码如下所示:

   public static void preorder( int inorder[], int inostart, int postorder[], int poststart, int length)
    {
      if(length==0) return; //terminating condition
      int k=0;
      System.out.print(postorder[length-1] + " ");

      for(int i=inostart; i<inostart+length; i++)
      {
        if(postorder[poststart+length-1]==inorder[i])
        {
          k=i;
          break;
        }
      }
      preorder(inorder, inostart, postorder, poststart, poststart+k-(inostart+1)); 
      preorder(inorder, inostart+k-poststart+1, postorder, k+1, length-k+inostart-1);
    }
publicstaticvoidpreorder(int-inoorder[],int-inostart,int-postorder[],int-poststart,int-length)
{
if(length==0)返回;//终止条件
int k=0;
系统输出打印(postorder[长度-1]+“”);

对于(int i=inostart;ii如果您的二叉树实现不允许重复,那么您的post order和in order遍历结果看起来都不正确没有重复项您应该再次检查您的post order和inorder实现,4不能同时是根节点和左叶节点,是的,我知道我的注释are off topicI没有后序和后序实现吗?只有这个函数来获得前序遍历,在我的主函数中,我给它以顺序和后序数