Leetcode 73. Set Matrix Zeroes javascript

307 阅读1分钟
/**
 * @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;
        }
    });
};