原题地址(简单)
方法1—遍历
思路
太简单了,直接上代码吧。
代码
可以这样遍历
class Solution {
public:
bool isToeplitzMatrix(vector<vector<int>>& matrix) {
//先看行,再看列
int row = matrix.size(), col = matrix[0].size();
for(int i = 0; i < col; i++) {
int a = 0, b = i;
while(a < row && b < col) {
if(matrix[a++][b++] != matrix[0][i])
return false;
}
}
for(int i = 0; i < row; i++) {
int a = i, b = 0;
while(a < row && b < col) {
if(matrix[a++][b++] != matrix[i][0])
return false;
}
}
return true;
}
};
也可以这样遍历
class Solution {
public:
bool isToeplitzMatrix(vector<vector<int>>& matrix) {
int m = matrix.size(), n = matrix[0].size();
for (int i = 1; i < m; i++) {
for (int j = 1; j < n; j++) {
if (matrix[i][j] != matrix[i - 1][j - 1]) {
return false;
}
}
}
return true;
}
};
时空复杂度
时间 空间