public TreeNode buildTree(int[] preorder, int[] inorder) {
		if (preorder == null || inorder == null || preorder.length == 0
				|| inorder.length == 0)
			return null;
		TreeNode root;
		int n = inorder.length - 1;
		root = buildTreeAux(preorder, inorder, 0, n, 0, n);
		return root;
	}