package com.interview.tree;
/**
* http://www.geeksforgeeks.org/check-if-each-internal-node-of-a-bst-has-exactly-one-child/
*/
public class BSTOneChildPreOrderTraversal {
public boolean isBST(int input[]){
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
for(int i = 0; i < input.length-1; i++){
if(input[i] > min && input[i] < max){
if(input[i+1] < input[i]){
max = input[i];
}else{
min = input[i];
}
}else{
return false;
}
}
if(input[input.length-1] < max && input[input.length-1] > min){
return true;
}else{
return false;
}
}
public static void main(String args[]){
int input[] = {20,10,14,15,17};
BSTOneChildPreOrderTraversal boc = new BSTOneChildPreOrderTraversal();
System.out.println(boc.isBST(input));
}
}