Why the solution for binary search tree validity is not working?

Why the solution for binary search tree validity is not working?

Content Index :

Why the solution for binary search tree validity is not working?
Tag : java , By : ffmmjj
Date : November 28 2020, 09:01 AM

I wish this help you I wrote a solution for checking the validity of the binary search tree using LinkedList and it's proving wrong information about the validity. I checked with a valid BST and it returns that the tree is not valid. The code is as following, , You seem to have your checks the wrong way around:
if ( ( cur.left != null && cur.data > cur.left.data ) || (cur.right != null && cur.data < cur.right.data  ) )
boolean isValid(Node node) {
    if (node.left != null && (cur.data < node.left.data || !isValid(node.left)))
        return false;
    else if (node.right != null && (cur.data > node.right.data || !isValid(node.right)))
        return false;
        return true;
public boolean isValid(Node root) {
    LinkedList<Node> nodesToCheck = new LinkedList<>();
    while (!nodesToCheck.isEmpty()) {
        Node current = nodesToCheck.poll();
        if (current.left != null) {
            if (current.data < current.left.data)
                return false;
        if (current.right != null) {
            if (current.data > current.right.data)
                return false;
    return true;

No Comments Right Now !

Boards Message :
You Must Login Or Sign Up to Add Your Comments .

Share : facebook icon twitter icon

Where to Add Checks for Validity in a Binary Search Tree

Tag : java , By : Michael
Date : March 29 2020, 07:55 AM
it should still fix some issue Your class will have contracts. A reasonable expectation for a binary search tree would be the contract that every such tree is indeed a binary search tree. This is called an invariant.
Every operation that manipulates such a tree should do it in such a way that this invariant is never broken.

Is binary tree a binary search tree if tree is spread over multiple machines

Tag : algorithm , By : Bharath
Date : March 29 2020, 07:55 AM
around this issue BST has a property. it's each children will also be a BST. validate all the machine's binary tree and once you have the each machine BT is BST then get the root node of each machine's BT and then again validate the tree if it is BST from the root node.

JavaScript Class solution for Validate Binary Search Tree

Tag : javascript , By : Scott Everts
Date : March 29 2020, 07:55 AM
will be helpful for those in need Thank you guys for your answers. Now I understand the issue: LeetCode forces me to run the function isValidBST that takes the parameter root and return the result. Doing so solves it:
class Solution {
    constructor(root) {
        this.root = root;

    get result() {
        return this.helper(this.root, -Infinity, Infinity);

    helper(root, low, high) {
        if (!root) return true;
        else {
            let val = root.val;
            if (val <= low || val >= high) return false;
            if (!this.helper(root.right, val, high)) return false;
            if (!this.helper(root.left, low, val)) return false;
            return true;

var isValidBST = function(root) {
    const res = new Solution(root)
    return res.result;

Differences in implementation of a tree, binary tree and, binary search tree in python

Tag : python , By : suresh
Date : March 29 2020, 07:55 AM

Function to check whether a binary tree is binary search tree or not working

Tag : cpp , By : dbarbot
Date : March 29 2020, 07:55 AM
Related Posts Related QUESTIONS :
  • Class file name must end with .class exception in Java Search
  • Java + SQL Server - a viable solution?
  • JUnit vs TestNG
  • Are there any decent free Java data plotting libraries out there?
  • Java Time Zone is messed up
  • Eclipse on win64
  • Automate builds for Java RCP for deployment with JNLP
  • Is there a real benefit of using J#?
  • Why can't I use a try block around my super() call?
  • Accessing post variables using Java Servlets
  • Is this really widening vs autoboxing?
  • How can I Java webstart multiple, dependent, native libraries?
  • Why doesn't Java autoboxing extend to method invocations of methods of the autoboxed types?
  • How do I use Java to read from a file that is actively being written to?
  • What code analysis tools do you use for your Java projects?
  • IllegalArgumentException or NullPointerException for a null parameter?
  • How do I configure and communicate with a serial port?
  • What are the different methods to parse strings in Java?
  • Android Broadcastreceiver for other apps install/delete not working
  • Android Studio onClick not working in BindViewHolder
  • How to use Spring Converter for some controllers only?
  • How verify that 3 numbers in sequence are equals?
  • When using .compareTo to compare dates, why doesn't it take Months into account?
  • Does the perfomance of "filter then map" and "map then filter" differ in a Stream?
  • How can I set the initial Delay after pressing the start Button to a specific time (HH:mm:ss) format
  • How to switch between Android devices during the tests
  • How to configure java.util.logging via properties to use standard output?
  • How to iterate through array in order
  • Is there better way of iteration to find the evenly divisible number?
  • How do I avoid using if statements with a large amount of variables in java
  • Writing JUnit test cases for a Spring Boot Service Application with autowired components
  • Cors for GET with Postman not showing headers
  • Printing values in different column same row using APACHE POI
  • Fully decompile java6 web application
  • Passing keycloak configuration parameters in the code rather than reading from application.properties
  • setDataSource() IO exception
  • Unexpected Output while retrieving Data from mongodb and displaying in a csv file?
  • Algorithm for searching a value in two arrays
  • How to avoid casting with generic return values?
  • Java/RegEx - Negation of pattern not working
  • How to split a string to non empty words if it might include a separator like tab on first place
  • Supplier<Sequence<String>> cannot be iterated more than once
  • Why there is only one thread can actually started in @PostConstruct method?
  • Manage CompletionStage inside of Netty handler
  • Url Problem while Developing on Localhost and deploy on Remote Virtual Server
  • How to identify the missing type id in Jackson error?
  • android data binding error: cannot find symbol
  • Spring Boot application with a jar dependency does not run after maven build
  • Spring Data JPA query , filter ? search engine ? JPQL?
  • Why LiveData returns null in ViewModel?
  • what this line of code mean....new URLClassLoader(new URL[0],getClass().getClassLoader());
  • Why do need to use new Random() instead of just Random Randomnum?
  • I want to access zk components from the java file
  • How do I cast FieldValue.serverTimestamp() to Kotlin/Java Date Class
  • Insertion Sort Double Array with User Input - JAVA
  • Creating 2 dimesional array with user input and find sum of specific columns
  • can not get Advertising ID Provider in android
  • Convert list of Objects to map of properties
  • How to represent an undirected weighted graph in java
  • Return values as array from collection
  • shadow
    Privacy Policy - Terms - Contact Us © scrbit.com