思路(递归分治法)
代码
/**
* @param {number[]} postorder
* @return {boolean}
*/
var verifyPostorder = function(postorder) {
var recur = function(left, right) {
if(left >= right) return true;
var cur = left;//cur用来遍历的指针
while(postorder[cur] < postorder[right]) cur++;
var mid = cur;//第一个大于postorder[right]的下标
while(postorder[cur] > postorder[right]) cur++;
return cur == right && recur(left, mid - 1) && recur(mid, right -1);
}
return recur(0, postorder.length - 1);//参数为:树的左坐标、右坐标
};