没用递归分析左子树与右子树居然也能通过,只作为参考,下面考虑不够完全,没有递归左子树与右子树。测试用例不够全面。

   def VerifySquenceOfBST(self, sequence):
        # write code here
        if sequence == None:
            return False

        # 后序遍历序列的特点:最后一位节点是根节点,前面是左子树+右子树,整个结构是:左子树+右子树+根节点
        # 结合二叉搜索树的特点:可知左子树 < 根节点;右子树 > 根节点
        index = None
        n = len(sequence)
        for i in range(n):
            if sequence[i] > sequence[-1]:
                index = i
            if index != None and sequence[i] < sequence[-1]:
                return False
        if sequence == []:
            return False
        return True