class Solution {
public boolean verify(int[] postorder, int start, int end) {
if (start >= end) {
return true;
}
int i = start;
while (postorder[i] < postorder[end]) {
i++;
}
int m = i;
while (postorder[i] > postorder[end]) {
i++;
}
return i == end && verify(postorder, start, m - 1) && verify(postorder, m, end - 1);
}
public boolean verifyPostorder(int[] postorder) {
return verify(postorder, 0, postorder.length - 1);
}
}