题解一:
二叉搜索树:从矩阵右上角观察,结构类似二叉搜索树,因此可以用类似的解法来做。具体做法是双指针从右上角开始,向左下角逐步搜索,如果当前值比目标值大,则向下移动,如果当前值比目标值小,则向左移动。直到找到目标值或指针出界。
class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m = matrix.length;int n = matrix[0].length;for (int i = 0, j = n - 1; i < m && j >= 0; ) {if (matrix[i][j] > target) j--;else if (matrix[i][j] < target) i++;else if (matrix[i][j] == target) return true;}return false;}
}