73. Set Matrix Zeroes

class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int row0 = 1, col0 = 1;
        int m = matrix.size(), n = m ? matrix[0].size() : 0;
        for (int i = 0; i < m; i++)
            for (int j = 0; j < n; j++)
                if (!matrix[i][j]) {
                    if (i == 0) row0 = 0;
                    if (j == 0) col0 = 0;
                    matrix[i][0] = 0;
                    matrix[0][j] = 0;
                }
        for (int i = 1; i < m; i++)
            for (int j = 1; j < n; j++)
                if (!matrix[i][0] || !matrix[0][j]) 
                    matrix[i][j] = 0;

        if (!row0)
            for (int j = 0; j < n; j++)
                matrix[0][j] = 0;
        if (!col0)
            for (int i = 0; i < m; i++)
                matrix[i][0] = 0;

    }
};

results matching ""

    No results matching ""