Leetcode 98 Solution
This article provides solution to leetcode question 98 (validate-binary-search-tree)
Access this page by simply typing in "lcs 98" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
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