矩阵置零
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/557f52192eed3cfde97de3dc3c1c1788.png)
class Solution {
public:
void setZeroes(vector<vector<int>>& matrix) {
//使用回溯法来做
int col=matrix.size();
if(col==0)
return;
int row=matrix[0].size();
int isRow=false;
int isCol=false;
for(int i=0;i<col;++i)
{
if(matrix[i][0]==0)
isCol=true;
}
for(int j=0;j<row;++j)
{
if(matrix[0][j]==0)
isRow=true;
}
for(int i=1;i<col;++i)
{
for(int j=1;j<row;++j)
{
if(matrix[i][j]==0)
{
matrix[i][0]=0;
matrix[0][j]=0;
}
}
}
for(int i=1;i<col;++i)
{
for(int j=1;j<row;++j)
{
if(matrix[i][0]==0||matrix[0][j]==0)
matrix[i][j]=0;
}
}
if(isCol==true)
{
for(int i=0;i<col;++i)
matrix[i][0]=0;
}
if(isRow==true)
for(int j=0;j<row;++j)
matrix[0][j]=0;
}
};
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ca1dd00d325adb7c3c345e2f9996423e.png)