赞
踩
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。
示例 1:
输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]
示例 2:
输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]
void setZeroes(vector<vector<int>>& matrix) {
vector<bool> row(matrix.size(),false);
vector<bool> col(matrix[0].size(),false);
for(int i=0;i<matrix.size();i++)
for(int j=0;j<matrix[0].size();j++)
if(matrix[i][j]==0)
row[i]=col[j]=true;
for(int i=0;i<matrix.size();i++)
for(int j=0;j<matrix[0].size();j++)
if(row[i]||col[j])
matrix[i][j]=0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。