給你一個 m x n 的矩陣 matrix 。如果這個矩陣是托普利茨矩陣,返回 true ;否則,返回 false 。
如果矩陣上每一條由左上到右下的對角線上的元素都相同,那么這個矩陣是 托普利茨矩陣 。
輸入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]
輸出:true
解釋:
在上述矩陣中, 其對角線為:
“[9]”, “[5, 5]”, “[1, 1, 1]”, “[2, 2, 2]”, “[3, 3]”, “[4]”。
各條對角線上的所有元素均相同, 因此答案是 True 。
代碼
class Solution {public boolean isToeplitzMatrix(int[][] matrix) {for(int i=0;i<matrix[0].length;i++)//以第一行元素為起點遍歷對角線{int x=i+1,y=1;//起點坐標while (x<matrix[0].length&&y<matrix.length){if(matrix[y][x]!=matrix[y-1][x-1])return false;x++;y++;}}for(int j=0;j<matrix.length;j++)//以第一列元素為起點遍歷對角線{int x=1,y=j+1;while (x<matrix[0].length&&y<matrix.length){if(matrix[y][x]!=matrix[y-1][x-1])return false;x++;y++;}}return true;}
}