一直没想到怎么用常量控件,后来网上搜了解决方案是可以用矩阵原来的存储空间,膜拜!
为什么我总是没有想到呢。难道是今天做了一整天的题目变白痴了==
头脑好涨
奋斗是为了什么
class Solution {
public:
void setZeroes(vector<vector<int> > &matrix) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(matrix.size()<=0) return;
if(matrix[0].size()<=0) return;
int m=matrix.size();
int n=matrix[0].size();
bool bColZero = false, bRowZero = false;
for(int r=0;r<m;r++)
{
if(matrix[r][0]==0)
{
bColZero=true;
}
}
for(int c=0;c<n;c++)
{
if(matrix[0][c]==0)
{
bRowZero=true;
}
}
for(int r=1;r<m;r++)
{
for(int c=1;c<n;c++)
{
if(matrix[r][c]==0)
{
matrix[r][0]=0;
matrix[0][c]=0;
}
}
}
for(int r=1;r<m;r++)
{
if(matrix[r][0]==0)
{
for(int c=0;c<n;c++)
{
matrix[r][c]=0;
}
}
}
for(int c=1;c<n;c++)
{
if(matrix[0][c]==0)
{
for(int r=0;r<m;r++)
{
matrix[r][c]=0;
}
}
}
if(bColZero==true)
for(int r=0;r<m;r++)
{
matrix[r][0]=0;
}
if(bRowZero==true)
for(int c=0;c<n;c++)
{
matrix[0][c]=0;
}
}
};