给定一个数字列表,确定它是否可以表示二叉搜索树(BST)的前序遍历列表。
public boolean isValid(int[] arr)
{
int root = arr[0];
int i=1;
while( i< arr.length && root >arr[i])
{
i++;
}
for(;i<arr.length;i++)
{
if(arr[i] <root)
{
return false;
}
}
return true;
}
上述功能适用于大多数情况,例如{3,4,5,1,2}
, {3, 2, 1, 5, 4, 6}
, {1,2,3}
. 但它不适用于{1,3,4,2}
.
任何人都可以帮我解决这个问题。