二叉搜索树的第k小的数 class Solution:def kthSmallest(self, root: Optional[TreeNode], k: int) -> int:# 二叉搜索树的中序遍历是 升序排列的, 求第k小的,即第k个数self.res = []def fun(root):if not root:returnfun(root.left)if root:self.res.append(root.val)fun(root.right)return fun(root)return self.res[k-1] 验证二叉搜索树 class Solution:def isValidBST(self, root: Optional[TreeNode]) -> bool:self.res = []self.flag = Truedef func(root):if not root:returnfunc(root.left)if root:self.res.append(root.val)if len(self.res)>1 and self.res[-1] <= self.res[-2]:self.flag = Falsereturn func(root.right)return func(root)return self.flag