private void postOrder(int[] preorder, int[] inorder, int post[], int low, int high, int preIndex, AtomicInteger postIndex) {
        if(low > high) {
            return;
        }
        post[postIndex.getAndDecrement()] = preorder[preIndex];
        int i;
        for(i=0; i < inorder.length; i++) {
            if(preorder[preIndex] == inorder[i]) {
                break;
            }
        }
        postOrder(preorder, inorder, post, i+1, high, preIndex + (i - low) + 1, postIndex);
        postOrder(preorder, inorder, post, low, i-1, preIndex + 1, postIndex);
    }
Date 11/02/2015
@author Tushar Roy

Given a preorder/inorder traversal of binary tree create postorder traversal of binary tree
without creating the tree

Time complexity - O(n)

References
http://www.geeksforgeeks.org/print-postorder-from-given-inorder-and-preorder-traversals/
src/com/interview/tree/PrintPostOrderFromPreOrderInOrder.java