Set Matrix Zeroes

来源:互联网 发布:地狱无门 知乎 编辑:程序博客网 时间:2024/05/22 09:04
class Solution {public:    void setZeroes(vector<vector<int> > &matrix) {        if(matrix.empty() || matrix[0].empty()) return;const int rows=matrix.size();const int columns=matrix[0].size();bool * row_has_zero=new bool[rows];bool * column_has_zero=new bool[columns];for(int iter1=0;iter1<rows;iter1++){row_has_zero[iter1]=false;}for(int iter2=0;iter2<columns;iter2++){column_has_zero[iter2]=false;}for(int i=0;i<rows;i++){for(int j=0;j<columns;j++){if(matrix[i][j]==0){row_has_zero[i]=true;column_has_zero[j]=true;}}}for(int iter1=0;iter1<rows;iter1++){if(row_has_zero[iter1]){for(int j=0;j<columns;j++){matrix[iter1][j]=0;}}}for(int iter2=0;iter2<columns;iter2++){if(column_has_zero[iter2]){for(int i=0;i<rows;i++){matrix[i][iter2]=0;}}}return ;    }};

0 0
原创粉丝点击