leetcode 43: Set Matrix Zeroes
Given am x
n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
uncompleted
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; size_t row = matrix.size(); size_t col = matrix[0].size(); bool row_flag = false, col_flag = false; for( int i=0; i<row; i++) { if( matrix[i][0] == 0 ) { row_flag = true; } } for( int j=0; j<col; j++) { if( matrix[0][j] == 0 ) { col_flag = true; } } for( int i=1; i< row; i++) { for ( int j=1; j< col; j++) { if( matrix[i][j] == 0 ) { matrix[0][j] = 0; matrix[i][0] = 0; } } } for( int i=0; i<matrix.size(); i++) { if(matrix[i][0] == 0) { for( int j=1; j<matrix[0].size(); j++){ matrix[i][j] = 0; } } else if(row_flag) { matrix[i][0] = 0; } } for( int j=0; j<matrix[0].size(); j++) { if(matrix[0][j] == 0) { for( int i=1; i<matrix.size(); i++){ matrix[i][j] = 0; } } else if(col_flag) { matrix[0][j] = 0; } } } };