二维排序数组BST搜索目标值

题目:在一个具有特定排序的二维数组中寻找target值。若找到返回true。

特定排序:每一行的元素从左到右升序排列,每一列的元素从上到下升序排列。

可以用类似二叉搜索树的方法解决这种题目。

 

 例如:在以上的数组中寻找5,我们可以从左上角(右下角也可)出发,7的左子树是4,右子树是8,所以第一步我们走到4,之后发现5要比4大,我们要走到4的右子树,5匹配成功,返回true。

        int r = matrix[0].length - 1;
        int l = 0;
        while(l < matrix.length && r >= 0){ //
            if(matrix[l][return] < target)
                l++;
            else if(matrix[l][r] > target)
                r--;
            else    
                return true;
        }
        return false;       

 

posted @ 2021-10-25 13:37  Dre_am_tale  阅读(51)  评论(0)    收藏  举报