难度简单
给你一个 m x n
的矩阵 matrix
。如果这个矩阵是托普利茨矩阵,返回 true
;否则,返回 false
。
如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。
思路:
简单的利用矩阵的尺寸判断该矩阵上的各对角线是否满足各元素相同。
只需要判断第一行和第一列开始的对角线即可。
bool isToeplitzMatrix(vector<vector<int>>& matrix) {
int len_x=matrix.size();
int len_y=matrix[0].size();
for(int i=0;i<len_x;++i){
int x=i,y=0,temp=matrix[x][y];
while(x<len_x && y<len_y){
if(matrix[x++][y++]!=temp) return false;
}
}
for(int i=0;i<len_y;++i){
int x=0,y=i,temp=matrix[x][y];
while(x<len_x && y<len_y){
if(matrix[x++][y++]!=temp) return false;
}
}
return true;
}