# 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
04-26
04-26
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交