98 ——验证二叉搜索树
考察内容:二叉搜索数性质- 左<根<右
递归
中序遍历
解题思路:递归
1.如果当前节点为空,满足——True
2.如果该节点大于上界或小于下界——F
3.继续判断该节点左(右)节点,若节点小(大)于根节点—T
```python
class Solution:
def isValidBST(self, root: TreeNode) -> bool:
def helper(node, lower = float('-inf'),upper = float('inf')):
if not node:
return True
val = node.val
if val <= lower or val >= upper:
return False
if not helper(node.right ,val, upper):
return False
if not helper(node.left,lower,val):
return False
return True
return helper(root)
中序遍历:
利用栈先进后出和中序遍历的特点进行求解
步骤:利于 stack 即stack.pop分别储存左节点及根节点
判断是否满足 左<根<右