Check if a tree is a BST

June 28, 2022 · 1 min read

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

class Solution {
  bool isValidBSTUtil(TreeNode *root, long l, long r) {
    if (root == nullptr) {
      return true;
    }

    if (root->val <= l || root->val >= r) {
      return false;
    }

    return isValidBSTUtil(root->left, l, root->val) &&
           isValidBSTUtil(root->right, root->val, r);
  }

public:
  bool isValidBST(TreeNode *root) {
    return isValidBSTUtil(root, LONG_MIN, LONG_MAX);
  }
};
Deletion of a node in a BST
Populate inorder successor of all nodes