public TreeNode buildNode(int[] inorder, int[] postorder, int inStart, int inEnd, int postStart, int postEnd) {
		if(postStart > postEnd || inStart > inEnd) return null; // forgot on 1st try
		TreeNode node = new TreeNode(postorder[postEnd]);
		for(int i = 0; i <= inEnd - inStart; i++) {
			if(inorder[inStart + i] == postorder[postEnd]) {
				node.left = buildNode(inorder, postorder, inStart, inStart + i - 1, postStart, postStart + i - 1);
				node.right = buildNode(inorder, postorder, inStart + i + 1, inEnd, postStart + i, postEnd - 1);
				break;
			}
		}
		return node;
	}