LeetCode面试题33.二叉搜索树的后序遍历序列【剑指offer】【中】【Python】]】【递归】问题是输入一个整数数组,判断这个数组是否是某棵二叉搜索树后序遍历的结果。如果是则返回true,否则返回false。假设输入数组中的任意两个数字互不相同。参考如下二叉查找树:5/\26/\13例1:输入:[1,6,3,2,5]输出:false例2:输入:[1,3,2,6,5]输出:true提示:数组长度<=1000基于属性的递归思路:1.后序遍历:左根和右根2.二叉查找树:左子树中任意节点的值<根节点的值,且右子树中任意节点的值>根节点的值,划分左右子树,分别判断子树是否满足二叉搜索树的性质。请参阅其他人的代码注释。时间复杂度:O(n^2),n为节点数。空间复杂度:O(n),其中n是节点数。Python3代码输入importListclassSolution:defverifyPostorder(self,postorder:List[int])->bool:defrecur(i,j):#rootnodeislessthanorequalto1ifi>=j:returnTruel=i#左子树whilepostorder[l]
