[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/loisoft/Java/master/DataStructures/Trees/ValidBSTOrNot.java [Back]  [Original]

package DataStructures.Trees;

public class ValidBSTOrNot {

  class Node {
    int data;
    Node left, right;

    public Node(int item) {
      data = item;
      left = right = null;
    }
  }

  // Root of the Binary Tree

  /* can give min and max value according to your code or
  can write a function to find min and max value of tree. */

  /* returns true if given search tree is binary
  search tree (efficient version) */
  boolean isBST(Node root) {
    return isBSTUtil(root, Integer.MIN_VALUE, Integer.MAX_VALUE);
  }

  /* Returns true if the given tree is a BST and its
  values are >= min and  max) return false;

    /* otherwise check the subtrees recursively
    tightening the min/max constraints */
    // Allow only distinct values
    return (isBSTUtil(node.left, min, node.data - 1) && isBSTUtil(node.right, node.data + 1, max));
  }
}

Web Proxy Viewer  |  New URL  |  Original Page