2
public TreeNode constructFromPrePost(int[] preorder, int[] postorder) {3
// O(n) time | O(h) space4
if (preorder == null || postorder == null || preorder.length == 0 || postorder.length == 0)7
TreeNode root = new TreeNode(preorder[0]);10
if (preorder.length == 1) return root;13
for (int i = 0; i < postorder.length; i++) {14
if (preorder[1] == postorder[i]) {22
Arrays.copyOfRange(preorder, 1, 1 + mid + 1),23
Arrays.copyOfRange(postorder, 0, mid + 1));27
Arrays.copyOfRange(preorder, 1 + mid + 1, preorder.length),28
Arrays.copyOfRange(postorder, mid + 1, postorder.length - 1));