我正在解决我必须检查二叉树是否为BST的问题? 我得到了错误的解决方案,因此我的一些测试用例失败了。 我无法找到我错在哪里。
这是我的代码:
/**
* Definition for binary tree
* class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) {
* val = x;
* left=null;
* right=null;
* }
* }
*/
public class Solution {
ArrayList<Integer> l=new ArrayList<Integer>();
public int isValidBST(TreeNode A) {
inOrderUtil(A);
for(int i=1;i<l.size();i++)
{
System.out.print(l.get(i)+" ");
if(l.get(i)<l.get(i-1))
return 0;
}
return 1;
}
public void inOrderUtil(TreeNode root)
{
if(root==null)
return;
inOrderUtil(root.left);
this.l.add((root.val));
inOrderUtil(root.right);
}
}