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的元素