题目链接:https://leetcode-cn.com/problems/set-matrix-zeroes/
题目如下:
class Solution {
public:
void setZeroes(vector<vector<int>>& matrix) {
int row=matrix.size();
int col=matrix[0].size();
vector<int> pos;//x0,y0,x1,y1,x2,y2...
//通过一维数组的方式记录0出现的位置
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
if(matrix[i][j]==0){
pos.push_back(i);
pos.push_back(j);
}
}
}
for(int i=0;i<pos.size();i+=2){
int x=pos[i];
int y=pos[i+1];
//处理矩阵置零,注意:m×n的矩阵 如[[0,1]]
for(int j=0;j<row;j++){
matrix[j][y]=0;
}
for(int k=0;k<col;k++){
matrix[x][k]=0;
}
}
}
};