Leetcode 98 Solution

This article provides solution to leetcode question 98 (validate-binary-search-tree)

https://leetcode.com/problems/validate-binary-search-tree

Solution

# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def isValidBST(self, root: Optional[TreeNode]) -> bool: self.last_val = None
return self._isValidBST(root)
def _isValidBST(self, root: Optional[TreeNode]) -> bool: if root.left: if not self._isValidBST(root.left): return False
if self.last_val is not None and root.val <= self.last_val: return False self.last_val = root.val
if root.right: if not self._isValidBST(root.right): return False
return True