BST有效性的错误解决方案

时间:2018-06-15 14:34:06

标签: tree breadth-first-search

我正在解决我必须检查二叉树是否为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);        
    }        
}

0 个答案:

没有答案