Samsung Interview Question
Senior Software Development EngineersCountry: United States
Interview Type: In-Person
public boolean checkBST(Node node)
{
if(node == null)
return true;
if(node.left != null && node.right != null)
{
if(node.left.value < node.value && node.right.value > node.value)
return true && checkBST(node.left) && checkBST(node.right);
}
else if(node.left != null && node.right == null)
{
if(node.left.value < node.value )
return true && checkBST(node.left);
}
else if(node.left == null && node.right != null)
{
if(node.right.value < node.value )
return true && checkBST(node.right);
}
else
{
return true;
}
return true;
}
public boolean checkBST(Node node)
{
if(node == null)
return true;
if(node.left != null && node.right != null)
{
if(node.left.value < node.value && node.right.value > node.value)
return true && checkBST(node.left) && checkBST(node.right);
}
else if(node.left != null && node.right == null)
{
if(node.left.value < node.value )
return true && checkBST(node.left);
}
else if(node.left == null && node.right != null)
{
if(node.right.value < node.value )
return true && checkBST(node.right);
}
else
{
return true;
}
return true;
}
public boolean checkBST(Node node)
{
if(node == null)
return true;
if(node.left != null && node.right != null)
{
if(node.left.value < node.value && node.right.value > node.value)
return true && checkBST(node.left) && checkBST(node.right);
}
else if(node.left != null && node.right == null)
{
if(node.left.value < node.value )
return true && checkBST(node.left);
}
else if(node.left == null && node.right != null)
{
if(node.right.value > node.value )
return true && checkBST(node.right);
}
else
{
return true;
}
return true;
}
int testBst(struct tree * root)
{
if (NULL == root)
return 0;
else
{
if (!( (!root->left || root->left->key < root->key) && (!root->right || root->right->key > root->key ) ))
return 0;
testBst(root->left);
testBst(root->right);
}
return 1;
}
C++ Version:
- R@M3$H.N September 24, 2014