3. 矩阵置零
leetcode Hot 100系列
文章目录
- 一、核心操作
- 二、外层配合操作
- 三、核心模式代码
- 总结
一、核心操作
- 根据行和列检测出0所在位置,并将行和列数组的对应位置改为true
- 如果遍历到某一行列时,只要行和列数组里面有一个是true,就置为0
提示:小白个人理解,如有错误敬请谅解!
二、外层配合操作
三、核心模式代码
代码如下:
class Solution {
public:
void setZeroes(std::vector<std::vector<int>>& matrix) {
std::vector<bool> x(matrix.size());
std::vector<bool> y(matrix[0].size());
for(int i=0;i<matrix.size();i++)
{
for(int j=0;j<matrix[0].size();j++)
{
if(matrix[i][j]==0)
{
x[i]=true;
y[j]=true;
}
}
}
for(int i=0;i<matrix.size();i++)
{
for(int j=0;j<matrix[0].size();j++)
{
if(x[i] || y[j])
{
matrix[i][j]=0;
}
}
}
}
};
总结
- 判定条件为 或