题目
题解
遍历数组每一个元素,若为0,将对应的行,列元素标记为0
并且visited数组来进行标记
代码
class Solution {
public:
void setZeroes(vector<vector<int>>& matrix) {
int m=matrix.size();
int n=matrix[0].size();
vector<vector<int>> visited(m,vector<int>(n,0));
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(matrix[i][j]||visited[i][j])
continue;
visited[i][j]=1;
for(int s=0;s<m;s++)
{
if(!matrix[s][j])
continue;
matrix[s][j]=0;
visited[s][j]=1;
}
for(int t=0;t<n;t++)
{
if(!matrix[i][t])
continue;
matrix[i][t]=0;
visited[i][t]=1;
}
}
}
}
};