/**
* @param {number[][]} matrix
* @return {void} Do not return anything, modify matrix in-place instead.
*/
var setZeroes = function(matrix) {
if(!matrix.length){
return matrix;
}
let zeros = [];
for(let i = 0; i < matrix.length; ++i){
for(let j = 0; j < matrix[0].length; ++j){
if(matrix[i][j] === 0){
zeros.push({i, j});
}
}
}
zeros.forEach(ell => {
let i = ell.i;
let j = ell.j;
for(let k = 0; k < matrix[i].length; ++k){
matrix[i][k] = 0;
}
for(let i = 0; i < matrix.length; ++i){
matrix[i][j] = 0;
}
});
};