classSolution{public:voidsetZeroes(vector<vector<int>>& matrix){//矩阵的第一行和第一列设置为标志位,标记这一行一列是否有0
int rows = matrix.size();
int cols = matrix[0].size();
int flag_row =1, flag_col =1;for(int i =0; i < cols; i++){if(matrix[0][i]==0){
flag_row =0;break;}}for(int i =0; i < rows; i++){if(matrix[i][0]==0){
flag_col =0;break;}}for(int i =1; i < rows; i++){for(int j =1; j < cols; j++){if(matrix[i][j]==0){
matrix[i][0]= matrix[0][j]=0;}}}for(int i =1; i < rows; i++){for(int j =1; j < cols; j++){if(matrix[i][0]==0|| matrix[0][j]==0){
matrix[i][j]=0;}}}if(flag_row ==0){for(int i =0; i < cols; i++) matrix[0][i]=0;}if(flag_col ==0){for(int i =0; i < rows; i++) matrix[i][0]=0;}}};