переписать программу из С++ на JAVA

Node * build_postorder(const vector<int> & post, long lp, long rp,
                       const vector<int> & in, long li, long ri)
{
  if (lp > rp)
    return nullptr; // we stop recursion when the tree is empty


  Node * root = new Node(post[rp]); // Creates the root with key value post[rp]


  int i = li;
  for (; i <= ri; ++i) // search in inorder array the index of root
    if (in[i] == post[rp])
      break; // this line must always to execute it (if everything is oK)


  LLINK(root) = build_postorder(post, lp, lp + (i - li) - 1, in, li, i - 1);
  RLINK(root) = build_postorder(post, rp - (ri - i), rp - 1, in, i + 1, ri);


  return root;
}

Ответы (0 шт):