class Solution:
def isValidBST(self, root: Optional[TreeNode]) -> bool:
# 中序遍历函数,将结果存储在res中
def inorder_traversal(node,res):
if not node:
return
inorder_traversal(node.left,res) # 递归遍历左子树
res.append(node.val) # 将根节点值存入结果数组
inorder_traversal(node.right,res) # 遍历递归右子树
values = [] # 存储中序遍历结果的数组
inorder_traversal(root,values) # 执行中序遍历
# 检查中序遍历结果是否严格递增
for i in range(1,len(values)):
if values[i] <= values[i-1]: # 如果存在递减,则不是有效的二叉搜索树
return False
return True