# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def isValidBST(self, root):
"""
:type root: TreeNode
:rtype: bool
"""
if root==None:return True
return self.dfs(root,-99999999999,0x7fffffff)
def dfs(self,root,l,r):
v=root.val
if v<l or v>r:return False
if root.left==None and root.right==None:
return v<=r and v>=l
flag=0
if root.left!=None:
flag-=1
if self.dfs(root.left,l,v-1):flag+=1
if root.right!=None:
flag-=1
if self.dfs(root.right,v+1,r):flag+=1
return flag==0
LeetCode-98-Validate Binary Search Tree dfs二叉树
最新推荐文章于 2022-01-17 05:29:14 发布