73. 矩阵置零
题目链接:73. 矩阵置零
代码如下:
cpp
//先标记所有0出现的位置,然后将其所在行列均置为0
class Solution {
public:
void setZeroes(vector<vector<int>>& matrix) {
vector<pair<int,int>> zeroPositions;
//记录0的位置
for(int i=0;i<matrix.size();i++)
{
for(int j=0;j<matrix[i].size();j++)
{
if(matrix[i][j]==0)
zeroPositions.push_back({i,j});
}
}
//将0所在的行列置零
for(int i=0;i<zeroPositions.size();i++)
{
int x=zeroPositions[i].first;
int y=zeroPositions[i].second;
for(int j=0;j<matrix[0].size();j++)
matrix[x][j]=0;
for(int j=0;j<matrix.size();j++)
matrix[j][y]=0;
}
}
};