解题方案:
var setZeroes = function(matrix) {
let rows = new Set(), cols = new Set(); // 用set对象在存储,保证存储的唯一值
for (let row = 0; row < matrix.length; row++) {
for (let col = 0; col < matrix[row].length; col++) {
if (matrix[row][col] === 0) { // 元素为0 ,记录是哪一行哪一列
rows.add(row);
cols.add(col);
}
}
}
for (let row of rows) { // 把所在行都变成0
for (let col = 0; col < matrix[row].length; col++) {
matrix[row][col] = 0;
}
}
for (let col of cols) { // 把所在列都变成0
for(let row = 0; row < matrix.length; row++) {
matrix[row][col] = 0;
}
}
return matrix;
};