有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用postorder+inorder遍历java预订单树

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

   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);
    }

但是我得到Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -2来测试数字

邮购

4 2 7 5 9 8 6 3 1

顺序
4 2 1 5 7 3 6 8 9


共 (0) 个答案