二维数组 零矩阵(MxN矩阵中某个元素为0则将其所在的行与列清零)

it2024-04-19  48

class Solution {

public:

    void setZeroes(vector<vector<int>>& matrix) {

        if(matrix.size() <= 0) return;

        int row = matrix.size();

        int col = matrix[0].size();

        vector<bool> rowVector(row,false);

        vector<bool> colVector(col,false);

 

        for(int i=0;i<row;i++){           

            for(int j=0;j<col;j++){               

                if(matrix[i][j] == 0){

                    rowVector[i] = true;

                    colVector[j] = true;

                }               

            }           

        }

        for(int i=0;i<row;i++){           

            for(int j=0;j<col;j++){

                if(rowVector[i]||colVector[j]){

                   matrix[i][j] = 0;  

                }

            }

        }

    }

};

 

 

备注:vector的几种初始化及赋值方式 https://blog.csdn.net/piaoliangjinjin/article/details/80826488

本文中用到了带参数构造函数初始化

 

//初始化size,但每个元素值为默认值

vector<int> abc(10); //初始化了10个默认值为0的元素

//初始化size,并且设置初始值

vector<int> cde(10,1); //初始化了10个值为1的元素

 

最新回复(0)